
java
文章平均质量分 71
ZhongWenhui_1995
这个作者很懒,什么都没留下…
展开
-
查找完全二叉树底层的最右节点(二):为啥深搜比广搜快这么多
查找完全二叉树底层的最右节点(一)在(一)中结果对比的时候,发现个奇怪的现象,就是从20384个节点开始深搜比广搜快,按算法来说,两个应该是一样的gc的影响再看我写的广搜里面,会有个额外的队列存储下一层的节点,因此怀疑是节点数量增多,导致触发了gcPrintGC查看gc情况添加了-XX:+PrintGC来打印gc信息,并且为了排除可能前者消耗内存在导致后面触发gc的情况,在每个步骤后面增加了活动调用gc,再来观察下可以看到从1648576开始,深搜和广搜都出现不同次数的gcpublic st原创 2020-08-29 17:29:11 · 501 阅读 · 0 评论 -
查找完全二叉树底层的最右节点(一)
是面试的时候问到的题目,没有用很多case去测,不保证代码完全正确题目节点结构:public class TreeNode { public int val; public TreeNode left; public TreeNode right; public TreeNode(int x) { val = x; }}完全二叉树:叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部给出完全二叉树,返回底层最右节点的.原创 2020-08-24 23:42:27 · 2119 阅读 · 0 评论 -
spring:bean的销毁
登记需要执行销毁方法的bean在bean装配里面提过,bean初始化完成之后,会注册成为DisposableBean,这个DisposableBean就是关闭的时候,调用其destroy方法来销毁beanAbstractBeanFactory#registerDisposableBeanIfNecessary重点是requiresDestruction方法,用来判断是否需要手动调用销毁方法,...原创 2020-05-04 22:44:15 · 730 阅读 · 0 评论 -
spring IOC:bean装配
总结额。。。写得并不是很好,不过通过这个来强迫自己去梳理下整个流程,加深印象,也是阔以的最后,spring的注释是写得真的全啊!!!过程总结:项目启动做创建刷新上下文前的各种准备工作下面开始装配bean调用BeanDefinitionRegistryPostProcessor加载bean定义调用BeanFactoryPostProcessor修改替换bean定义里面的属性值(${...原创 2020-05-04 19:11:11 · 306 阅读 · 0 评论 -
spring aop过程分析
额。。。终于艰难的把整个aop和部分ioc初始化过程捋了遍。。。总结1.在 bean初始化完成,加入到spring ioc容器之前,会调用BeanPostProcessors执行后置动作2.其中会调用自动代理生成器(AbstractAutoProxyCreator)或者其他的自定义代理生成(AbstractAdvisingBeanPostProcessor之类)来判断(类、方法)、生成代...原创 2020-03-29 01:23:39 · 284 阅读 · 0 评论 -
java获取启动类的名字
public static String getMainClassName() { StackTraceElement[] stackTraceElements = new RuntimeException().getStackTrace(); for (StackTraceElement stackTraceElement : stackTraceElements) { ...原创 2020-03-21 21:37:04 · 2059 阅读 · 0 评论 -
java反射通过class构造对象
通过class获取到构造函数,通过构造函数创建对象 public static void main(String[] args) throws Exception { System.out.println(construct("234", "java.lang.Integer")); } public static <T extends Number>...原创 2020-03-20 16:46:55 · 351 阅读 · 0 评论 -
AQS
AbstractQueuedSynchronizer基础的同步器,主要实现了对等待队列的管理(入队出队,独占/共享模式下对等待节点的唤醒等),而具体的获取、释放的判断逻辑由子类实现等待队列节点类是AbstractQueuedSynchronizer一个内部类Node该队列是一个双向队列,AQS的head变量指向头结点(不是等待节点,head.next才是队列中第一个等待节点),tail变量...原创 2020-03-14 23:53:17 · 168 阅读 · 0 评论 -
jvm关闭
关闭方式正常关闭最后一个普通线程(非守护线程)结束调用了System.exit发送SIGINT信号(相当于不带参数的kill命令)或者键入Ctrl-C强制关闭调用Runtime.halt发送SIGKILL信号(kill -9 命令)关闭钩子(Shutdown Hook)钩子配置方法通过下面的设置方法可看到,关闭钩子实际为线程Runtime.getRuntime().a...原创 2020-02-05 11:23:41 · 806 阅读 · 0 评论 -
线程异常的处理
主动处理主动处理runnable中通过try…catch进行处理public void run() { Throwable thrown = null; try { ... } catch (Throwable e) { ... thrown = e } finally { // 线程退出的处理...原创 2020-02-03 19:07:42 · 484 阅读 · 0 评论 -
spring提供的RestTemplate的header格式
闲聊:这次需求需要后台服务以http方式调用另一个服务,我用的spring的RestTemplate,先是通过本地配置host方法成功调成功,但是后面接入公司的mesh网关后(调用方所在服务器不需要配置host),连接失败了,排查了下发现是RestTemplate的header格式导致在使用RestTemplate的时候,除非直接使用execute方法,其他的如post…,get…,exc...原创 2019-11-23 20:53:19 · 915 阅读 · 0 评论 -
spring activemq @JmsListener 参数配置
id /** * The unique identifier of the container managing this endpoint. * <p>If none is specified, an auto-generated one is provided. * @see org.springframework.jms.config.JmsListenerEndp...原创 2019-04-30 14:37:34 · 9305 阅读 · 0 评论 -
mysql时区问题导致查出来的时间差了13小时
https://juejin.im/post/5902e087da2f60005df05c3d转载 2019-04-13 15:15:13 · 2168 阅读 · 0 评论 -
关于java.lang.IllegalMonitorStateException
http://www.blogjava.net/freeman1984/archive/2011/10/14/361306.html原创 2016-02-22 15:13:11 · 563 阅读 · 0 评论 -
java判断字符串中是否含有中文
这感觉其实是一个不太正规的方法,只是我在写爬取网页的东西的时候突然想到这可以用来判断是否为中文,说到这里感觉大家都想到了,对的,就是利用编码转码的方法: url中网址中不能直接包含中文,中文需要先经过编码转换成一串字符(例如”你好”>>”%E4%BD%A0%E5%A5%BD”),而英文经过编码后是不会改变的(”hello”>>”hello”),所以:public class Test{ pu原创 2016-02-01 13:52:53 · 2697 阅读 · 0 评论 -
java api文档离线查询器
写java程序的时候,经常要到官网(http://docs.oracle.com/javase/8/docs/api/index.html)查文档,用着用着感觉有时有些不方便: 1.java官网有时登不上去 2.没有搜索查询功能 所以针对这两个,就想到做一个文档离线查询器,把文档离线下来,然后可以进行搜索查找。(代码依然写得乱。。。)项目介绍:项目名称:java文档离线下载器(J原创 2016-03-11 17:24:07 · 4776 阅读 · 0 评论 -
推箱子暴力求解程序(SokobanSolver)
写这个程序是因为在看《Java并发编程实战》书的时候,提到过用多线程来解决推箱子游戏,感觉挺好玩的,于是就开始写啦!!准备阶段先介绍一个推箱子网站(主页):http://sokoban.cn/ 在这个网站你在它的规则(格式)下,也可以轻松获得推箱子地图、验证答案。 规则、格式:http://sokoban.cn/xsb_lurd.php 推箱子地图获取、答案验证:http://sokoban原创 2017-01-17 15:39:30 · 14315 阅读 · 6 评论 -
elastic-job使用及过程中遇到的问题
以前公司的项目分布式调度用的两种方式,一是通过配置文件进行分区,一是用阿里的一个dtss控件;配置文件的方式就不说了,比较挫;而阿里的dtss控件存在问题,而且该控件也已经停止维护更新(别的控件又要收钱)。 所以找到了这个elastic-job,目前只用到了其中的SimpleJob,后续的再更新。。。官方文档官网地址:http://elasticjob.io/index_...原创 2018-07-29 19:10:31 · 11169 阅读 · 4 评论 -
javaweb:在线聊天网站(框架版)
之前写过一次在线聊天网站,不过那次是无框架版的,这次用框架构建网站,基本功能和上次差不多涉及知识java spring(4.3.5):spring、spring MVC hibernate bootstrap jsp JavaScript,jquery websocket mysql功能1.用户的登录、注册、注销、密码修改 2.获知在线用户名字及数量 ...原创 2017-02-15 15:36:29 · 20791 阅读 · 18 评论 -
javaweb:在线聊天网站
前言: 最近学了一堆网页相关的内容,html,js,jquery,javaweb,servlet,websocket等东西,所以就试着集合起来写个简单的网页,于是就决定就是你了:在线聊天网站。原创 2016-01-08 23:22:45 · 23004 阅读 · 18 评论 -
java9 reactive
http://blog.51cto.com/zero01/2293823转载 2019-01-24 14:47:45 · 169 阅读 · 0 评论 -
Java 8 中的 Streams API 详解
https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/转载 2019-01-21 14:54:21 · 176 阅读 · 0 评论 -
RestTemplate服务端异常信息无法完整打印
问题: ... try { res = restTemplate.postForObject(url.toString(), requestEntity, String.class); } catch (RestClientException e){ logger.error("出现异常 {}", e.getMessag...原创 2019-03-30 23:02:29 · 2026 阅读 · 2 评论 -
java中文词语大小比较
public class Test{ public static void main(String[] args) throws Exception { //获取相应语言的校验器 Collator collator = Collator.getInstance(Locale.CHINA); while(true) {原创 2016-02-16 17:29:32 · 3417 阅读 · 0 评论