- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 java线程内存模型
java线程内存模型线程、工作内存、主内存三者之间的交互关系图: 产生线程安全的原因线程的working memory是cpu的寄存器和高速缓存的抽象描述:现在的计算机,cpu在计算的时候,并不总是从内存读取数据,它的数据读取顺序优先级 是:寄存器-高速缓存-内存。线程耗费的是CPU,线程计算的时候,原始的数据来自内存,在计算过程中,有些数据
2017-11-24 17:29:37
239
转载 深入探讨 Java 类加载器
类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用
2014-08-12 17:43:15
437
原创 小心StringBuilder.toString
最近看服务器运行的时候,发现CPU使用load特别高,排查了一下,问题出现在下面的代码里面 StringBuilder buf = new StringBuilder(); String line = null; while ((line = br.readLine()) != null) { if (StringUtils.isNotEmpty(buf.toString())) {
2014-07-31 15:13:41
1280
转载 linux下查看线程数的几种方法
1、 cat /proc/${pid}/status2、pstree -p ${pid}3、top -p ${pid} 再按H 或者直接输入 top -bH -d 3 -p ${pid}top -H手册中说:-H : Threads toggle加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。4、ps xH手册中说:H S
2014-07-25 11:05:56
682
原创 HashMap实现原理
最近看了一篇关于HashMap的文章,讲的头头是道,我就自己阅读了一遍HashMap的源码!受益匪浅!今天就总结了一下HashMapHashMap就是一个hash存储的数据结构,通过key.hashCode() & size 得到存储的地址,table是一个Entry[]的对象,table[i]是一个Entry的对象,Entry是一个链表结构,存储了key,value,next和h (hash
2013-11-22 15:34:21
658
原创 java堆分配参数总结
java应用程序堆内存分配相关的JVM参数1. -Xms 设置java应用程序启动时的初始堆大小。2. -Xmx 设置java应用程序能获得的最大堆大小。3. -Xss 设置线程栈的大小。4. -XX:PermSize 设置永久区的初始值5. -XX:MaxPermSize 设置最大的永久区大小6. -XX:MinHeapFreeRatio 设置堆空间最小空闲比例。7....
2013-01-09 19:24:30
187
原创 vsftpd匿名登录的设置方法
最近搭建ftp服务时,想匿名登录ftp服务下载一些文件。结果用vsftpd安装了之后,按照网上的设置匿名登录方法后,怎么弄都不行。贴上网上修改的配置:1、修改配置文件 # vi /etc/vsftpd/vsftpd.conf local_enable=NO connect_from_port_20=YES listen=YES listen
2013-01-07 13:55:41
12751
转载 maven常用命令集锦
Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName 2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName
2012-12-27 18:45:41
439
原创 Properties的用法
File file = new File("./mail.properties"); FileInputStream pInStream = null; try { pInStream = new FileInputStream(file); } catch (FileNotFoundException e) {
2012-11-27 17:32:43
368
原创 php找不到php.ini的解决办法
今天安装了一个php,用源码安装的,安装后发现没有php.ini文件,导致运行php的时候会出现一段错误Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_def
2012-11-08 10:54:36
5687
原创 nginx请求超长解决方案
nginx是一个强大的http服务器,但是在使用过程中发现,当遇到超长的post请求或者get请求时,nginx会返回413、400、414等状态码,这是因为请求串长度超过了nginx默认的缓存大小或者请求串大小,那么我们需要怎么样来解决这些问题呢?针对POST请求,我们可以调整如下两个配置项来解决:client_body_buffer_size语法:client_body_buf
2012-07-13 15:31:09
4028
转载 vi使用手册
进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filena
2012-06-27 11:17:05
317
原创 string为汉字时在不同的系统占用的长度是不一样的
汉字在win和linux系统占用的字符是不一样的!在linux下,一个汉字占用3个字符,而win下一个汉字占用2个字符。比如下面的程序#include #include using namespace std;int main() { string str1 = "你好"; cout cout stri
2012-06-25 18:40:27
588
原创 Runtime.getRuntime()运行出现僵死的解决
在使用Runtime.getRuntime有时候会出现僵死的情况。 public static boolean runRuby(String cmd) throws IOException { cmd = "ruby ./config/data/script/" + cmd; logger.info("开始执行ruby 脚本:" + cmd);
2012-06-10 16:12:07
968
System Analysis and Design
2009-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人