自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 PriorityQueue分析

PriorityQueue和JDK自带的任务调度器Timer的实现都是使用了二叉堆,二叉堆是什么?(分最大树和最小树)其实我也不太能描述它?但表现在程序里是个什么状态呢?以最小树例:首先使用数组作为存储结构,每个添加都把元素放在数组末尾,然后进行上浮操作。然后每次获取时就能获取到值最小的元素。上浮就是新元素不断与排在前面的元素进行比较,新元素值较小,则靠前排。需要说明的是上浮的比较并不是逐个元素的向前比较,而是跳跃般的,新元素索引[index >> 1],类似二分法般的。与Ti

2022-01-24 17:08:28 150

原创 jkd-timer任务调度类小结

原理:任务TimerTask使用如scheduleAtFixedRate添加在Timer实例的后,会被添加Timer实例里一个叫TaskQueue,TaskQueue这东西是优先队列,根据任务TimeTask的执行时间进行从小到大的排序,一个使用jdk数组为底层实现的二叉堆,二叉堆结构实现了这么个结果,TimerTask加进入来插入到数组的最后面,然后进行上浮操作fixUp()尽量把TimerTask往前排,如果TimerTask的执行时间是队列里最小的则会排到数组的第一位,如果是第二小则不一定会排到数据

2022-01-24 16:11:25 256

原创 ssl/tls(1)

声明:这篇博客只是草稿,作者也对tcp/ip等网络知识不精通,只是工作上使用到 ssl,所以研究了下,但也是只是通过大量翻网上的已有的ssl/tls博客获取得知识,暂时没有通过抓包软件之类的工具实际看过ssl/tls的报文。什么是ssl/tlsSSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。大致.

2021-03-29 00:07:15 150 1

原创 spring的数据库操作问题(mybatis相关)

spring的数据库操作问题(mybatis相关)今天服务器上出现了BUG,要上去看看日志报什么,发现只到了服务层的方法isAuth(…)后来发现是多数据源的问题,用错了数据源,但spring和mybatis应该会输出日志,但发现并没有,controller层写的异常try也只打印isAuth(…)有问题粗略看了一下发现根本不会输出出来,它是直接把异常抛了输出,层层上传,我也处理异常输出了...

2019-02-25 17:14:56 202

原创 关于maven的jar包下找不到类的一种可能

#关于maven的jar包下找不到类的一种可能严重: Exception starting filter jfinal-webjava.lang.NoClassDefFoundError: com/alibaba/druid/pool/DruidDataSourceat com.jfinal.plugin.druid.DruidPlugin.start(DruidPlugin.java:1...

2019-02-25 16:52:23 4419

原创 新催收系统数据库表设计的小结

总结下前几个月设计的新催收系统,主要是数据库方面的一个设计。解决旧催收系统的一个严重的性能问题。可以讲需要开发新催收系统的根本原因,就是这个。 主因只有一个,就是帐单表h_bills。这个表包括整个系统平台的所有帐单,连不需要催收的帐单和爷爷辈的帐单都存在里面。当时查了下,整个帐单表大概有大几百万条的帐单记录。 让情况更糟糕的是新上的产品中有了存在多期帐单的分期产品...

2018-11-26 10:47:24 3108 6

转载 eclipse的项目分组功能

clipse鼓励将不同的功能模块划分为独立的项目存在,这样不但结构清晰,组织起来还非常灵活,因为我们可以用feature对这些项目进行不同的组合,输出后得到具有不同功能的产品。不过这样一来Package Explorer里的项目会以更快的速度增加,当你面对几十上百个项目时,工作效率必然大打折扣。幸好Eclipse提供了工作集(Working Set)的功能,它可以用来划分这些项目。在Pac...

2018-07-31 23:09:09 482

原创 [jdk源码]异常被抛到JVM时的控制台输出代码-源于Throwable类

public void printStackTrace() { printStackTrace(System.err); } /** * Prints this throwable and its backtrace to the specified print stream. * * @param s {@code Prin...

2018-05-09 17:32:17 504

转载 Java 中的异常和处理详解

原文出处: 代码钢琴家简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状态?。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码...

2018-05-07 16:57:17 236

原创 mysql修改这个表的数据时不可以使用这个表

修改这个表的数据时不可以使用这个表最近执行一个删除表记录的sql时,报了个错【You can't specify target table 't_assign' for update in FROM clause】,大概意思是说你在修改这个表的时候不可以使用这个表。sql大概:delete from t_assign where id in(select a.id t_assign a w...

2018-03-09 11:31:02 291

原创 mysql查询select部分进行子查询-小结

sql模版:select *,(select xx from tableName) from tableName子查询使用要注意的:只能返回一个值一定要使用别名区别表,除非使用的表属性都不重名再说个最近遇到的问题sql:select abc.id, (select c.collect_supervisor_id from (select bx.id from t_bills bx where bx...

2018-03-07 10:56:31 6580

原创 java语法 break和continue作用

break和continue在for中,continue的作用是跳过这次循环,break的作用是终结循环。在while中,continue的作用是跳过这次循环,break的作用是终结循环。看到网上说break对switch也有作用,但我没试过,不BB.还有重要的一点break和continue对if是不产生作用,语法上是不允许,ecplise也会提示报错。为什么有时if里可以break或conti...

2018-03-05 16:57:56 370

转载 Java语言的三大特性

Java语言的三大特性即是:封装、继承、多态封装:首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用。1.概念:封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使

2017-11-27 21:33:47 3382

转载 Base64编码及其作用

Base64编码的作用:由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。它使用下面表中所使用的字符与编码。而且base64特别适合在http,mime协议下快速传输数据。base64其实不是安全领域下的加密解密算法。虽然有时候经常看到所谓的base64加密解密。其实base64只能算是一个编码算法,对数据内容进行编码来适合传输。虽然base64编码过后原文也变成不能看到的字符格式,但是这种方式很初级,很简单。

2017-08-17 17:21:56 377

原创 找重复数 - 这是一道面试题

这是我去荔枝FM面试时,看到的一道面试题。题目的大概意思是这样的:有一百个不重复的数,放到一个数组里,替换其中一个数,让数组里有两个相同的数,问你怎么找出来这个数?ps:隐约记得这一百个数说是1~100的连续不重复数

2017-07-03 15:52:38 1405

原创 maven项目中pom.xml关联本地项目

经常开发web项目(maven项目),多个web项目开发经常会关联到一个公用工具包(也是一个maven项目),很方便,只要一更新全部项目都可以得到更新,通常web项目和工具包都会在本地,修改了工具包,web项目马上就可以用了,连update Maven都不需要。

2016-11-02 17:17:50 1283

转载 Cron表达式

CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。即便如此,SimpleTrigger一样,CronTrigger拥有的startTime指定的时间表时生效,指定的时间表时,应停止(可选)结束时间。

2016-07-26 09:48:47 208

原创 乱码的原因

字节状态的汉字和内存中的汉字应该是不同的,内存中的汉字已经是汉字了(或者说是char类型),它可以以任何编码输出,字节状态中的汉字只能以固定的编码解析,

2016-07-26 09:45:09 346

空空如也

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

TA关注的人

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