随笔分类 -  java

java
摘要:java.lang.System.setProperty() 方法设置指定键指定的系统属性。 声明 以下是java.lang.System.setProperty()方法的声明 参数 key -- 此是该系统属性的名称。 value -- 是该系统属性的值。 key -- 此是该系统属性的名称。 v 阅读全文
posted @ 2018-07-12 21:32 木易森林 阅读(278) 评论(0) 推荐(0) 编辑
摘要:在搭建CAS server的过程中,Tomcat开启https,配置秘钥证书,证书是通过keytool生成的 启动tamcat后,提示如下报错 解决 重新生成秘钥,并且通过keytool -list -keystore thekeystore 检查秘钥的类型,是PrivateKeyEntry就正常了 阅读全文
posted @ 2018-07-12 16:50 木易森林 阅读(2382) 评论(0) 推荐(0) 编辑
摘要:使用cas做单点登录,在验证ticket的时候,报下面的错误: 原因,serviceTicketExpirationPolicy默认值时间是1.8秒,当登录成功,携带ST返回客户端,客户端带着server和ST去服务器验证,但此时服务器端的ST已经失效。 解决办法: 修改WEB-INF/spring 阅读全文
posted @ 2018-07-12 16:46 木易森林 阅读(6182) 评论(0) 推荐(0) 编辑
摘要:避免死锁 死锁出现的四要素: 互斥条件:进程对于所分配到的资源具有排它性,即一个资源只能被一个进程占用,直到被该进程释放; 请求与保持条件:一个进程因请求被占用资源而发生阻塞时,对已获得的资源保持不放 不可中条件:任何一个资源在没被该进程释放之前,任何其他进程都无法对他剥夺占用 循环等待条件:当发生 阅读全文
posted @ 2018-04-08 16:11 木易森林 阅读(730) 评论(0) 推荐(0) 编辑
摘要:使用Java那么久,在此总结一下Java中常见的内存溢出问题以及对应的解决思路 堆溢出 报错信息 报错原因 堆中(新生代和老年代)无法继续分配对象了; 某些对象的引用长期被持有没有被释放,垃圾回收器无法回收; 使用了大量的 Finalizer 对象,这些对象并不在 GC 的回收周期内。 解决办法 将 阅读全文
posted @ 2018-04-08 14:23 木易森林 阅读(1281) 评论(0) 推荐(0) 编辑
摘要:在GC日志里,一条完整的GC日志记录最后,会带有本次GC所花费的时间,如下面这一条新生代GC: 注意到日志中时间分为了三块:user, sys,和 real,三者的区别和含义如下: real:指的是在此次GC事件中所花费的总时间; user:指的是CPU工作在用户态所花费的时间; sys:指的是CP 阅读全文
posted @ 2018-04-04 15:44 木易森林 阅读(4033) 评论(0) 推荐(2) 编辑
摘要:正则表达式匹配不包含某些字符串: ^((?!@).)*$ //如果包含@字符串会被匹配处理 public static void main(String[] args){ String reg = "^((?!@).)*$"; System.out.println("gdfgfgdffgn".mat 阅读全文
posted @ 2018-03-26 16:30 木易森林 阅读(46017) 评论(0) 推荐(0) 编辑
摘要:随着系统越来越大,越来越复杂,我们需要在业务方面加上一些监控服务。Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作。 使用Metrics 使用Metrics,只需要在pom文件里面加入一下依赖: Metrics的基本工具 Metrics提供了五个基本的度量类型 阅读全文
posted @ 2018-03-17 11:57 木易森林 阅读(9717) 评论(1) 推荐(0) 编辑
摘要:什么是 java.awt.headless? Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。 何时使用和headless mode? Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供 阅读全文
posted @ 2018-03-09 10:59 木易森林 阅读(718) 评论(1) 推荐(0) 编辑
摘要:NIO的工作机制 为了了解NIO,我们先看一下NIO的相关类图,如下图所示: 上图中有两个关键类Channel和Selector,他们是Java NIO的核心。举个例子,我们把Channel比作高铁,则Selector就是高铁的调度系统,负责监控每列高铁的运行状态,是出站还是在路上,也就是说Sele 阅读全文
posted @ 2018-01-09 19:56 木易森林 阅读(769) 评论(0) 推荐(1) 编辑
摘要:Java序列化就是将一个对象转化为一个二进制表示的字节数组,通过保存或则转移这些二进制数组达到持久化的目的。要实现序列化,需要实现java.io.Serializable接口。反序列化是和序列化相反的过程,就是把二进制数组转化为对象的过程。在反序列化的时候,必须有原始类的模板才能将对象还原。从这个过 阅读全文
posted @ 2018-01-05 15:20 木易森林 阅读(12591) 评论(0) 推荐(5) 编辑
摘要:Guava 是一个 Google开发的 基于java的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等 阅读全文
posted @ 2017-12-23 10:32 木易森林 阅读(4859) 评论(0) 推荐(0) 编辑
摘要:lucence 是一个高性能的java全文检索工具包,他使用倒排序文件索引结构,改结构和相应的生成算法如下: 一、设有两篇文章1和2 文章1的内容为:Tom lives in guangzhou,i live in guangzhou too 文章2的内容为:He once lived in sha 阅读全文
posted @ 2017-12-19 10:22 木易森林 阅读(1414) 评论(0) 推荐(0) 编辑
摘要:在JVM运行空间中,对象的整个生命周期大致可以分为七个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段( Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)、释放阶段(Free)。经过上述的七个阶段,构 阅读全文
posted @ 2017-12-19 10:21 木易森林 阅读(1037) 评论(0) 推荐(0) 编辑
摘要:基础类型数据的大小是固定的,对于非基本类型的java对象,其大小就值得商榷了。 在java中一个空Object对象的大小是8byte,这个大小只是保存堆中没有任何属性的对象的大小,看下面的语句: Object obj = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所 阅读全文
posted @ 2017-12-19 10:19 木易森林 阅读(1293) 评论(0) 推荐(0) 编辑
摘要:Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身; 引用类型的变量保存引用值,引用值代表了某个对象的引用而不是对象的本身,对象的本身存放在这个引用值所标示的地址的位置。 基本的数据类型包括:byte,short,int,long,flo 阅读全文
posted @ 2017-12-19 10:18 木易森林 阅读(450) 评论(0) 推荐(0) 编辑
摘要:第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); 结果: C:\Documents%20and%20Settings\Administrator\workspace\p 阅读全文
posted @ 2017-12-19 10:16 木易森林 阅读(7253) 评论(0) 推荐(0) 编辑