自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (5)
  • 问答 (3)
  • 收藏
  • 关注

原创 查找完全二叉树底层的最右节点(二):为啥深搜比广搜快这么多

查找完全二叉树底层的最右节点(一)在(一)中结果对比的时候,发现个奇怪的现象,就是从20384个节点开始深搜比广搜快,按算法来说,两个应该是一样的gc的影响再看我写的广搜里面,会有个额外的队列存储下一层的节点,因此怀疑是节点数量增多,导致触发了gcPrintGC查看gc情况添加了-XX:+PrintGC来打印gc信息,并且为了排除可能前者消耗内存在导致后面触发gc的情况,在每个步骤后面增加了活动调用gc,再来观察下可以看到从1648576开始,深搜和广搜都出现不同次数的gcpublic st

2020-08-29 17:29:11 387

原创 查找完全二叉树底层的最右节点(一)

是面试的时候问到的题目,没有用很多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 1846

原创 spring:bean的销毁

登记需要执行销毁方法的bean在bean装配里面提过,bean初始化完成之后,会注册成为DisposableBean,这个DisposableBean就是关闭的时候,调用其destroy方法来销毁beanAbstractBeanFactory#registerDisposableBeanIfNecessary重点是requiresDestruction方法,用来判断是否需要手动调用销毁方法,...

2020-05-04 22:44:15 633

原创 spring IOC:bean装配

总结额。。。写得并不是很好,不过通过这个来强迫自己去梳理下整个流程,加深印象,也是阔以的最后,spring的注释是写得真的全啊!!!过程总结:项目启动做创建刷新上下文前的各种准备工作下面开始装配bean调用BeanDefinitionRegistryPostProcessor加载bean定义调用BeanFactoryPostProcessor修改替换bean定义里面的属性值(${...

2020-05-04 19:11:11 241

原创 spring aop过程分析

额。。。终于艰难的把整个aop和部分ioc初始化过程捋了遍。。。总结1.在 bean初始化完成,加入到spring ioc容器之前,会调用BeanPostProcessors执行后置动作2.其中会调用自动代理生成器(AbstractAutoProxyCreator)或者其他的自定义代理生成(AbstractAdvisingBeanPostProcessor之类)来判断(类、方法)、生成代...

2020-03-29 01:23:39 224

原创 java获取启动类的名字

public static String getMainClassName() { StackTraceElement[] stackTraceElements = new RuntimeException().getStackTrace(); for (StackTraceElement stackTraceElement : stackTraceElements) { ...

2020-03-21 21:37:04 1914

原创 java反射通过class构造对象

通过class获取到构造函数,通过构造函数创建对象 public static void main(String[] args) throws Exception { System.out.println(construct("234", "java.lang.Integer")); } public static <T extends Number&gt...

2020-03-20 16:46:55 316

原创 AQS

AbstractQueuedSynchronizer基础的同步器,主要实现了对等待队列的管理(入队出队,独占/共享模式下对等待节点的唤醒等),而具体的获取、释放的判断逻辑由子类实现等待队列节点类是AbstractQueuedSynchronizer一个内部类Node该队列是一个双向队列,AQS的head变量指向头结点(不是等待节点,head.next才是队列中第一个等待节点),tail变量...

2020-03-14 23:53:17 113

原创 jvm关闭

关闭方式正常关闭最后一个普通线程(非守护线程)结束调用了System.exit发送SIGINT信号(相当于不带参数的kill命令)或者键入Ctrl-C强制关闭调用Runtime.halt发送SIGKILL信号(kill -9 命令)关闭钩子(Shutdown Hook)钩子配置方法通过下面的设置方法可看到,关闭钩子实际为线程Runtime.getRuntime().a...

2020-02-05 11:23:41 708

原创 线程异常的处理

主动处理主动处理runnable中通过try…catch进行处理public void run() { Throwable thrown = null; try { ... } catch (Throwable e) { ... thrown = e } finally { // 线程退出的处理...

2020-02-03 19:07:42 408

原创 spring提供的RestTemplate的header格式

闲聊:这次需求需要后台服务以http方式调用另一个服务,我用的spring的RestTemplate,先是通过本地配置host方法成功调成功,但是后面接入公司的mesh网关后(调用方所在服务器不需要配置host),连接失败了,排查了下发现是RestTemplate的header格式导致在使用RestTemplate的时候,除非直接使用execute方法,其他的如post…,get…,exc...

2019-11-23 20:53:19 824

原创 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 9005

转载 mysql时区问题导致查出来的时间差了13小时

https://juejin.im/post/5902e087da2f60005df05c3d

2019-04-13 15:15:13 2080

原创 RestTemplate服务端异常信息无法完整打印

问题: ... try { res = restTemplate.postForObject(url.toString(), requestEntity, String.class); } catch (RestClientException e){ logger.error("出现异常 {}", e.getMessag...

2019-03-30 23:02:29 1916 2

转载 java9 reactive

http://blog.51cto.com/zero01/2293823

2019-01-24 14:47:45 113

转载 Java 8 中的 Streams API 详解

https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/

2019-01-21 14:54:21 146

转载 redis介绍相关文章收藏

原理介绍:https://www.cnblogs.com/kismetv/p/8654978.html

2018-10-06 18:06:44 266

原创 判断指定月份、日期是否在时间范围内

public boolean isInMonthDay(int month, int day, Calendar minCal, Calendar maxCal){ boolean res = false; if(minCal == null || maxCal == null){ return res; } ...

2018-09-14 11:57:12 2136

原创 elastic-job使用及过程中遇到的问题

以前公司的项目分布式调度用的两种方式,一是通过配置文件进行分区,一是用阿里的一个dtss控件;配置文件的方式就不说了,比较挫;而阿里的dtss控件存在问题,而且该控件也已经停止维护更新(别的控件又要收钱)。 所以找到了这个elastic-job,目前只用到了其中的SimpleJob,后续的再更新。。。官方文档官网地址:http://elasticjob.io/index_...

2018-07-29 19:10:31 11034 4

原创 try catch finally踩到的坑

用aop around做了一个日志打印,类似这样:public Object aroundMapper(ProceedingJoinPoint joinPoint) throws Throwable { Object obj = null; ... try{ obj = joinPoint.proceed(); }catch (Throwab...

2018-07-22 20:56:49 1279

原创 支付宝PC端支付报INVALID_PARAMETER错误,一次解决过程

前言我们项目前端部分分为PC端、手机端两个项目,然后共用一个web端,手机端已经上线,手机端中的充值支付模块也已经正常在使用;但这次PC端项目上线的时候,充值却出现了问题,支付接口返回INVALID_PARAMETER的错误;而充值这块之前是另一名开发负责,可是已经离职,只能自己去排查了。解决过程经过多次测试,发现是部分金额支付出现问题,然后根据官方文档,出现INVALID_PAR...

2018-04-11 14:14:18 42288

原创 javaweb:在线聊天网站(框架版)

之前写过一次在线聊天网站,不过那次是无框架版的,这次用框架构建网站,基本功能和上次差不多涉及知识java spring(4.3.5):spring、spring MVC hibernate bootstrap jsp JavaScript,jquery websocket mysql功能1.用户的登录、注册、注销、密码修改 2.获知在线用户名字及数量 ...

2017-02-15 15:36:29 19812 18

原创 hibernate中hql语句注意点

hql组成是根据代码中的实体类不是数据库的表@Entitypublic class Bean{ @Column(name = "a") private String prop; @Column(name = "b") private int prop2;}from Bean obj where obj.prop = 'value' and prop2 = 'value2'

2017-02-01 16:30:48 462

原创 hibernate中获取session和开启事务时遇到问题及解决

代码 是在spring+hibernate框架下org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread解决方法org.hibernate.TransactionException: nested transactions not supported解决方法

2017-02-01 15:55:12 5444

原创 推箱子暴力求解程序(SokobanSolver)

写这个程序是因为在看《Java并发编程实战》书的时候,提到过用多线程来解决推箱子游戏,感觉挺好玩的,于是就开始写啦!!准备阶段先介绍一个推箱子网站(主页):http://sokoban.cn/ 在这个网站你在它的规则(格式)下,也可以轻松获得推箱子地图、验证答案。 规则、格式:http://sokoban.cn/xsb_lurd.php 推箱子地图获取、答案验证:http://sokoban

2017-01-17 15:39:30 13265 6

原创 垃圾收集算法与内存分配策略

《深入立即Java虚拟机》第二版-第3章读书笔记分代收集算法描述:根据对象存活周期的不同将内存划分为几块(一般为新生代和老年代),这样可以根据各个年代的特点采用最适当的收集算法。 新生代中,每次垃圾收集时都有大批对象死去,只有少量存活。 老年代中,对象存活率高、而且没有额外空间对它进行分配担保。标记清除算法描述:算法分为“标记”和“清除”两个阶段:首先标记处所有需要回收的对象,在标记完成后统一

2016-10-06 15:13:05 364

原创 垃圾收集-判断对象是否存活

《深入理解Java虚拟机》第二版-第3章读书笔记引用计数法描述:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的(垃圾收集)。缺点:很难解决相互引用的问题 例如下面这种情况,这两个对象已经不可能再被访问,但是由于相互引用,导致它们的引用计数都不为0,导致GC收集器无法回收它们。public class T

2016-10-04 16:17:16 359

原创 Java虚拟机(HotSpot)-对象:创建、内存布局、访问定位

《深入理解Java虚拟机》第2版-第二章读书笔记对象的创建1.检查这个指令的参数是否能在常量池中定位到这个类的符号引用,如果存在即进入22.检测该符号引用代表的类是否已被加载、解析和初始化过,若没有,则先执行相应的类的加载过程3.通过了上面的加载检查后,虚拟机为新生对象分配内存(对象所需内存的大小在类加载完成后便可完全确定),为对象分配空间的任务等同于把一块确定大小的内存从java堆中划分出来。4

2016-10-04 10:54:15 524

原创 Java虚拟机管理划分的运行时数据区域

《深入理解JAVA虚拟机》的读书笔记-第2章程序计数器功能: 当前线程所执行的字节码的行号指示器,字节码解释器工作时,就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等处功能都需要依赖这个计数器来完成。这和计算机处理器中的计数器功能基本一样,简单来说就是这个任务有N个步骤,从头开始执行: 1.计数器的值为x=0 2.处理器读取计数器的值x

2016-09-24 18:02:12 307

原创 java.lang.NoClassDefFoundError: org/apache/ibatis/io/Resources] with root cause

使用mybatis的时候,在jsp页面中创建使用到mybatis对象时,在访问页面时报的错。 其实这个错和报struts2包不存在的解决方法差不多:eclipse的解决方法:1.右键项目名称,再点击Properties2.点击左列的Deployment Assembly3.点击右边的Add4.Java Build Path Entires在选择你要添加的包(这里肯定是mybatis的包) 我已经

2016-05-19 16:02:56 12413 4

原创 hibernate注解简单使用

最近刚学的hibernate,用来写东西,出现挺多问题的,特别最麻烦的就是多表关联的配置好麻烦,配置不好后面的操作会出现一堆问题,所以下面说的都是简单实用。前提:这篇对hibernate的注解的一些参数的介绍的不是很不全(通常只是介绍例子中给出的注解解析),要更完整的了解其中一个注解可以再继续查询这个注解。

2016-05-04 21:53:23 8368

原创 hibernate表关联出现的异常及解决方法

最近边学边用hibernate写东西,然后出现各种问题,总结一下出现的问题及解决方法在存在@OneToMany、@ManyToOne的情况报Table ‘table.A_B’ doesn’t exist异常异常出现的背景:排除真正的表不存在的因素外,该异常通常出现的情况如下:create table a( id int primary key not null ); create t

2016-05-04 12:30:50 3528

原创 java api文档离线查询器

写java程序的时候,经常要到官网(http://docs.oracle.com/javase/8/docs/api/index.html)查文档,用着用着感觉有时有些不方便: 1.java官网有时登不上去 2.没有搜索查询功能 所以针对这两个,就想到做一个文档离线查询器,把文档离线下来,然后可以进行搜索查找。(代码依然写得乱。。。)项目介绍:项目名称:java文档离线下载器(J

2016-03-11 17:24:07 4665

原创 关于java.lang.IllegalMonitorStateException

http://www.blogjava.net/freeman1984/archive/2011/10/14/361306.html

2016-02-22 15:13:11 527

原创 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 3340

原创 java判断字符串中是否含有中文

这感觉其实是一个不太正规的方法,只是我在写爬取网页的东西的时候突然想到这可以用来判断是否为中文,说到这里感觉大家都想到了,对的,就是利用编码转码的方法: url中网址中不能直接包含中文,中文需要先经过编码转换成一串字符(例如”你好”>>”%E4%BD%A0%E5%A5%BD”),而英文经过编码后是不会改变的(”hello”>>”hello”),所以:public class Test{ pu

2016-02-01 13:52:53 2604

原创 eclipse创建配置struts项目时遇到的ClassNotFoundException问题解决方案

可能出现的问题大概有:问题1:java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter问题2:java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

2016-01-10 17:19:43 850

原创 javaweb:在线聊天网站

前言: 最近学了一堆网页相关的内容,html,js,jquery,javaweb,servlet,websocket等东西,所以就试着集合起来写个简单的网页,于是就决定就是你了:在线聊天网站。

2016-01-08 23:22:45 22789 18

原创 python继承中重载问题:私有函数不能被子类重写

在python的继承中,基类的私有函数不能被重载例子下图是私有函数的重载:

2015-10-10 10:44:39 7256 2

原创 保护模式下的内存访问

保护模式下的内存访问模式、方法,而这个保护模式下的内存访问模式在实模式与保护模式已经介绍过是什么,这次来具体点看

2015-08-09 16:33:58 2215 1

推箱子暴力求解程序(SokobanSolver)

采用深度搜索暴力解决的推箱子游戏求解程序,对于太复杂的图不能求解出来,详情可看http://blog.csdn.net/name_z/article/details/54572308

2017-01-22

java api文档离线查询器:Jdor

要求本地配有java环境,且jdk版本为1.8,。 本程序可以下载javase、javaee各版本的api文档,下载后,还可以进行查询,查询结果以网页形式显示,可以显示在本程序内,也可以用浏览器显示网页。

2016-03-12

javaweb在线聊天网站

javaweb在线聊天网站,数据库表: create table tbUser ( name varchar(10) not null, keyword char(20) not null, primary key(name) )CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 其实还有另外一个表(存储聊天信息),不过后面写的时候忘记把聊天信息保存进数据库,所以其实可以不用管(程序里没用到),另一个表信息是: create table tbConnection ( id int not null, orignName varchar(10) not null, targetName varchar(10) not null, content varchar(255) not null, date datetime not null, primary key(id), foreign key(orignName) references tbUser(name), foreign key(targetName) references tbUser(name) )CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

2016-01-09

intel指令手册.pdf(英文全3卷)

intel指令手册英文版全3卷

2015-07-29

汇编贪食蛇

内含一个txt文档(代码)和exe文件,程序xp直接可以运行,win7以上的用doxbox,wsad控制方向,在开始页面按a可以进入速度调整(w加快s减慢),玩的时候按<esc>可以退出游戏,游戏结束(win/lose)有分数和当前速度提示,地图大小:25*80。代码有少量英文注释(基本都是注释函数作用以及需要的参数、返回的参数,英文较渣,不过应该都看得懂)。

2015-07-20

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除