java
hotmocha
这个作者很懒,什么都没留下…
展开
-
jvm blog
https://gist.github.com/pandening/8b941997851ff6bec29d83a9af821602 首选想探索一下GC是怎么开始工作的,或者说,GC到底是以什么样的方式在工作的;java应用在启动的时候会创建一个jvm进程,JVM内部通过调用create_vm来实现,该方法做了大量的工作来创建一个jvm进程,并且将java应用的main方法启动起...转载 2019-12-09 11:10:01 · 675 阅读 · 0 评论 -
类的生命周期与threadlocal
http://blog.xiaohansong.com/2016/08/09/ThreadLocal-leak-analyze/http://wiki.xiaohansong.com/java/class_lifecycle.html#_8转载 2018-04-10 21:34:07 · 1206 阅读 · 0 评论 -
netty源码探索
NioEventLoop是通用的,针对不同的事件通过attachment中的channel自动区分操作。监听的channel为NioServerSocketChannel对应的unsafe为NioMessageUnsafe通讯的channel为NioSocketChannel对应的unsafe为NioByteUnsafe比如:监听的channel为NioServerSocketChannel原创 2017-09-22 12:46:32 · 352 阅读 · 0 评论 -
netty源码探索(二)
0. ctx.fire*** 或者 ctx.read write都是基于当前的ctx查找下一个outbound和inbound不会中从headcontext或者tailcontext开始如果需要从头开始调用ctx.pipeline()注意在编写outbound和inbound handler不要忘记调用ctx函数不然链路会断掉1. outbound和inbound操作ChannelOut原创 2017-09-24 10:37:34 · 1884 阅读 · 0 评论 -
JAVA的动态代理
代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两种。 静态代理:由转载 2016-11-05 23:38:47 · 202 阅读 · 0 评论 -
java异常类层次结构图
java异常类层次结构图:异常的英文单词是exception,字面翻译就是“意外、例外”的意思,也就是非正常情况。事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误。比如使用空的引用、数组下标越界、内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图。错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正,然转载 2016-10-11 18:20:21 · 9622 阅读 · 0 评论 -
深入理解JVM--JVM垃圾回收机制
Java语言出来之前,大家都在拼命的写C或者C++的程序,而此时存在一个很大的矛盾,C++等语言创建对象要不断的去开辟空间,不用的时候有需要不断的去释放控件,既要写构造函数,又要写析构函数,很多时候都在重复的allocated,然后不停的~析构。于是,有人就提出,能不能写一段程序在实现这块功能,每次创建,释放控件的时候复用这段代码,而无需重复的书写呢?1960年 基于MIT的Lisp首先提转载 2016-10-09 08:33:30 · 427 阅读 · 0 评论 -
java线程池
转载:http://cuisuqiang.iteye.com/blog/2019372Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。n转载 2016-10-08 22:53:01 · 247 阅读 · 0 评论 -
hibernate 级联(cascade和inverse)
级联(Cascade) : 二个以上的设备通过某种方式连接起来,能起到扩容的效果就是级联。Hibernate级联(Cascade)是用来说明数据库中两个表之间相互关系(一对一,一对多,多对多)中,当对主对象进行某种操作时,是否对其关联的从对象也作类似的操作(比如有对象Department和Employee,它们之间是一对多的关系,当保存Department时,其对应的Employee是否也相应的保转载 2014-08-31 19:27:17 · 414 阅读 · 0 评论 -
eclipse快捷键
Alt+Shit+S Generaet Getter and Setter 选中Generate method comments 文本编辑 复制行 Ctrl+Alt+向下键 编辑文本 快捷键:选中接口名按ctrl+t 会列出所有实现此接口的类 ctrl+o 找到这个类中的所有方法 Ctrl+O 快速显示 OutLine Ctrl+T 快速显示当前类的继承转载 2014-08-29 09:04:15 · 661 阅读 · 0 评论 -
Jconsole连接当地pid出错
jconsole本地连接失败加jvm 启动参数即可: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8011 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false原创 2014-08-24 10:37:25 · 808 阅读 · 0 评论 -
java静态类和非静态类
package com.test.xml;/** * @author du.qiang * @version $Revision 1.1 $ 2010-6-23 上午06:48:28 */public class OutClassTest { static int a; int b; public static void test() { S转载 2014-08-21 21:36:56 · 708 阅读 · 0 评论 -
java访问控制符
网上看到很多关于访问控制级别的描述,相当模糊,特别是protected和默认级别很多人都不清楚,这里我详细分解了一下,相信已经很清晰,从上到下,访问控制的限制越来越严格,熟悉这些限制对于设计也有很多好处。访问控制符同类同包子类 同包其它类跨包子类不同包其它类public√√√√√protected√√转载 2014-08-21 14:00:34 · 529 阅读 · 0 评论 -
java 入门
访问级别:Java采用三个显式(明确)关键字以及一个隐式(暗示)关键字来设置类边界:public,private,protected以及暗示性的friendly。若未明确指定其他关键字,则默认为后者。这些关键字的使用和含义都是相当直观的,它们决定了谁能使用后续的定义内容。“public”(公共)意味着后续的定义任何人均可使用。而在另一方面,“private”(私有)意味着除您自己、原创 2012-07-20 18:24:31 · 503 阅读 · 0 评论 -
java中的各种容器
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要转载 2012-07-20 18:22:14 · 564 阅读 · 0 评论