logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

GC优化——对象复用

Java虚拟机的自动内存管理让程序员从频繁出错的内存操作中解放了,不需要像C++一样,每次new之后必须显示的调用delete进行内存释放操作。虽然,我们不用再操心内存泄露这样的bug,因为垃圾收集器可以很好的把垃圾对象清理掉。但是出于性能的考虑,最好不要肆无忌惮的创建对象,在可以复用对象的情况下尽量复用,这样可以减少对象内存的分配,降低gc的频率,有效的优化gc。        在程序运行的

#jvm#算法
程序的前世今生——编译、链接和加载简介

本篇文章是组内分享的小结,主要介绍源代码 -> 可执行程序 -> 执行这一过程。也就是源代码是如何转化为可执行程序,然后可执行程序又是如何执行的。在用java或python时,只需要java ClsName或者python a.py就可以执行相应的程序,实际上它们都是依托于底层的虚拟机。本文主要介绍的是操作系统级别的连接、加载、执行等,而不是虚拟机语言的执行。这里只对链接、加载进行一个简介,详细内

windows下通过jconsole/jvisualvm监控linux下jvm状态

Linux下要监控的java进程需要配置参数:-Djava.rmi.server.hostname=192.168.1.101   # Linux主机的ip,在windows输入的ip地址-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=8888    # 通信的端口,windows下输入

#windows#linux#java +1
进程调度模拟

进程调度就是在所有可运行的进程之间分配CPU资源,它使得在单个CPU上并发执行多个进程成为可能。本文通过java模拟时间片轮转算法,以具象化进程调度。进程是操作系统中一个重要的抽象,通过进程调度和虚拟内存机制实现了CPU和内存的虚拟化。在每个进程看来,自己是独占CPU和内存的。        下面看一下进程调度的大致原理,每个进程是程序的执行实体,相当于程序执行的容器。在进程执行时,进程有自己

Linux下获得本机ip

java版private InetAddress getLocalIp() throws SocketException{Enumeration e = NetworkInterface.getNetworkInterfaces();while(e.hasMoreElements()){NetworkInterface ni = e.nextEleme

#linux#lua
linux经验总结(持续更新)

1. 单个进程打开的文件描述符最大值默认是1024,可以通过ulimit -a查看所有的限制ulimit -n 可以查看文件描述符最大值。并可以通过ulimit -n 65535设置这一次会话的最大值。2. 查看linux机器的连接数netstat -est | grep established | grep -v packets    1186 connections e

通过python在两台linux服务器间传递文件

通过python -m SimpleHTTPServer可以开启一个http服务器,默认端口是8000,-m选项指示python将module作为脚本运行。这样就可以共享一台linux上的某个文件夹,在对应的文件夹下运行上面的命令,其他linux主机就可以通过http访问这个目录,进行下载。可以用curl http://220.193.1.101:8000/a.tx

#python#linux#服务器
JSON美化输出

JSON字符串就是一堆字符,查看起来很不方便。这里介绍两种方法查看格式化输出之后的JSON。1. chrome插件,JSONView安装之后,可以自动识别JSON字符串。2. 直接使用python的模块json.tool输入,echo '{"a": 1, "b": 2}' | python -m json.tool看起来是不很爽?

#json#python
到底了