上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要: 仅做记录之用。 java代码可以反编译,因此有时候要保护自己的知识产权还真得费点心思,一般来说有三个思路: 1、将class文件加密,这个是最安全的,但也费事儿,因为要重写classloader来解密class文件; 2、使用花指令,使得class文件不能反编译(利用反编译工具漏洞);安全性一般,还 阅读全文
posted @ 2017-12-15 10:04 facelessvoidwang 阅读(55597) 评论(3) 推荐(4)
摘要: JVM的内存区域划分: jvm的内存区域分为5部分:程序计数器,虚拟机栈,本地方法栈,堆跟方法区。 程序计数器,虚拟机栈,本地方法栈三部分是线程私有的,堆跟方法区是公共的。 1、程序计数器 是一块较小的内存区域,用于记录当前线程运行的位置,可以看做是程序所执行的字节码的行号指示器。如果正在执行的是一 阅读全文
posted @ 2017-12-06 23:18 facelessvoidwang 阅读(339) 评论(0) 推荐(0)
摘要: HashMap算是日常开发中最长用的类之一了,我们应该了解它的结构跟算法: 参考文章: http://blog.csdn.net/vking_wang/article/details/14166593 https://tech.meituan.com/java-hashmap.html 数据结构中有 阅读全文
posted @ 2017-11-15 23:44 facelessvoidwang 阅读(467) 评论(0) 推荐(0)
摘要: ArrayList、LinkedList、HashMap中都有一个字段叫modCount。这个字段的用途,在ArrayList的父类AbstractList源码中有注释,说的很清楚: protected transient int modCount = 0; 为了显示美观,对jdk原文注释进行了换行 阅读全文
posted @ 2017-11-09 10:37 facelessvoidwang 阅读(7566) 评论(0) 推荐(2)
摘要: 集合算是java中最常用的部分了,阅读该部分jdk代码可以让我们更加清楚的了解其实现原理,在使用时也能心中有数,有利于写出高质量的代码。 ArrayList 底层数组实现,初始长度10,超过长度后的自增实际是数组拷贝,拷贝用的System.copy()调用了本地方法,效率相对较高。 先看new Ar 阅读全文
posted @ 2017-11-09 10:32 facelessvoidwang 阅读(256) 评论(0) 推荐(0)
摘要: 我们都知道Integer是int的封装类,提供了一些类型转换等工具方法,有一个-128-127的缓存,而且是final的。 干货: Integer是final 的,因此对Integer的操作返回的都是另一个新对象,而不是修改原来的值。 Integer的值存在value属性中,Integer的hash 阅读全文
posted @ 2017-11-09 10:27 facelessvoidwang 阅读(423) 评论(1) 推荐(0)
摘要: 我们平常说,java中char占2个字节,可又说汉字在不通的编码格式中所占的位数是不同的,比如gbk中汉字占2个字节,utf8中多数占3个字节,少数占4个。而所有汉字在java程序中我们都可以简单的用 char c = '字' 表示; 那么问题来了,在java程序运行的时候,究竟汉字占几个字节呢? 阅读全文
posted @ 2017-11-09 10:21 facelessvoidwang 阅读(2460) 评论(0) 推荐(0)
摘要: 要了解的内容: sockjs,对于低版本的ie等不支持websocket的浏览器,采用js模拟websocket对象的办法来实现兼容(其实也有轮询的情况)。sockjs地址 https://github.com/sockjs/sockjs-client stomp 协议,一种格式比较简单且被广泛支持 阅读全文
posted @ 2017-08-04 16:05 facelessvoidwang 阅读(9985) 评论(1) 推荐(3)
摘要: 知乎参考文章:https://www.zhihu.com/question/28254987 日常开发中总会有一些这样那样的异常,在项目没有明确规定的情况下,多数时候我们基本无视了异常的处理,最后的结果就是程序能跑就行,出异常了找开发修复。有时候我们还认为抛异常无用,因为反正已经异常了,业务也无法使 阅读全文
posted @ 2017-08-04 15:59 facelessvoidwang 阅读(1111) 评论(0) 推荐(0)
摘要: Git是分布式的,并没有服务端跟客户端之分,所谓的服务端安装的其实也是git。Git支持四种协议,file,ssh,git,http。ssh是使用较多的,下面使用ssh搭建一个免密码登录的服务端。 1、提前安装git跟sshserver; 2、 创建一个用户,用来运行git服务; 新建一个用户,叫g 阅读全文
posted @ 2017-02-18 12:04 facelessvoidwang 阅读(3401) 评论(0) 推荐(1)
上一页 1 ··· 4 5 6 7 8 9 10 下一页