
Java
young-ming
路漫漫其修远兮 吾将上下而求索
个人QQ:284407890
个人github:https://github.com/xmingyang
展开
-
LinkedList实现队列和栈
public void push(E e) { addFirst(e); } /** * Pops an element from the stack represented by this list. In other * words, removes and returns the first element of this li原创 2013-10-29 21:24:52 · 1564 阅读 · 0 评论 -
quartz missed their scheduled fire-time
使用quartz调度出现报错信息:[ QuartzScheduler_......_MisfireHandler:4835333702 ] - [ INFO ] Handling 2 trigger(s) that missed their scheduled fire-time. 经过排查确定为很多调度任务未执行完成,堵塞住 。解决办法:适当提高org.quartz.threadP...原创 2018-10-29 10:29:45 · 6548 阅读 · 0 评论 -
java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁
理解锁的基础知识如果想要透彻的理解java锁的来龙去脉,需要先了解以下基础知识。基础知识之一:锁的类型锁从宏观上分类,分为悲观锁与乐观锁。乐观锁乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,...转载 2018-07-18 16:58:28 · 336 阅读 · 0 评论 -
java protobuf使用
protoc.exe --java_out=./ msg.proto vi msg.protooption java_package = "com.protobuftest.protobuf";option java_outer_classname = "PersonProbuf";message Person { required string n原创 2016-10-28 18:28:50 · 1056 阅读 · 0 评论 -
java反序化thrift
安装thrift后执行:thrift -o -gen java xx.thrift产生相应的java类,copy到java项目后开始反序列化 String input = "..."; //读出来的thrift序列后的数据 UnitedEvent uelog = new UnitedEvent(); byte[] bytes; try { by原创 2016-07-28 18:58:13 · 714 阅读 · 0 评论 -
quartz Couldn't rollback jdbc connection. Communications link failure during rollback().
使用quartz cluster集群出现连接mysql的报错通过调整超时参数解决mysql> show global variables like '%time%' ;SET GLOBAL wait_timeout = 288000;2016-07-13 02:43:51 [ main:206921956 ] - [ ERROR ] Couldn't rollback jd原创 2016-07-29 09:51:52 · 8073 阅读 · 0 评论 -
java实现lpad函数
public static String lpad(String str,int num,String pad){ String n_str=str; if(str==null) n_str= " "; for(int i=str.length();i <num;i++){ n_str=pad+n_str; } return n原创 2015-12-03 15:29:27 · 6037 阅读 · 0 评论 -
java正则解析url获取域
String host=""; try { host = new URL("http://www.mysite.cn/va3.html").getHost().toLowerCase(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace原创 2015-12-03 15:26:53 · 1647 阅读 · 0 评论 -
java python oracle判断字符串是否为数字的函数
java public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("^-?[0-9]+\\.?[0-9]+"); Matcher isNum = pattern.matcher(str); if( !isNum.matches() ){ return fals原创 2014-07-09 11:20:38 · 1279 阅读 · 0 评论 -
JAVA GC调优零碎记录
是否需要进行GC调优决定是否进行Java GC调优,前提是主要看新生代的Minor GC和老年代的FULL GC 的GC频率和每次GC停顿的时间对于业务来说是否可接受,一般满足以下条件,可不用考虑GC调优(仅参考,具体还要看业务)1 MinorGC执行的很快(小于50ms)2 MinorGC执行的并不频繁(大概10秒一次)3 FullGC执行的很快原创 2015-12-10 20:24:24 · 722 阅读 · 0 评论 -
CMS收集器的一些参数
HotSpot JVM的并发标记清理收集器(CMS收集器)的主要目标就是:低应用停顿时间。该目标对于大多数交互式应用很重要,比如web应用。在我们看一下有关JVM的参数之前,让我们简要回顾CMS收集器的操作和使用它时可能出现的主要挑战。就像吞吐量收集器(参见本系列的第6部分),CMS收集器处理老年代的对象,然而其操作要复杂得多。吞吐量收集器总是暂停应用程序线程,并且可能是相当长的一段时间,转载 2015-09-07 15:43:58 · 2747 阅读 · 0 评论 -
Java CMS垃圾收集器几个过程
当使用CMS收集器时,当开始进行收集时,old代的收集过程如下所示:1,首先jvm根据-XX:CMSInitiatingOccupancyFraction,-XX:+UseCMSInitiatingOccupancyOnly来决定什么时间开始垃圾收集;2,如果设置了-XX:+UseCMSInitiatingOccupancyOnly,那么只有当old代占用确实达到了-XX:CMSIniti转载 2015-09-07 19:03:45 · 2938 阅读 · 0 评论 -
java gc垃圾收集算法
跟踪收集器跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用的。下图中,对象Object6、Object7、Object8虽然互相引用,但他们的GC Roots是不可到达的,所以它们将会被判定为是可回收的对象。转载 2014-08-29 15:06:41 · 868 阅读 · 0 评论 -
java垃圾收集器
HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的新生转载 2014-08-29 15:00:53 · 854 阅读 · 0 评论 -
Quartz集群原理及配置应用
1、Quartz任务调度的基本实现原理 Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现。作为一个优秀的开源调度框架,Quartz具有以下特点: (1)强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求; (2)灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式; (3...转载 2019-02-01 10:01:11 · 481 阅读 · 0 评论