觉悟吧,少年!

——认真编码,认真生活!

RSA算法实践整理

背景Web应用中对前端的密码进行加密,然后后台再解密,前端加密工具有jsencrypt.min.js可以使用,该工具在前端用公钥加密,后端私钥解密,以提高应用系统敏感数据的安全度。本文将整理RAS非对称加密算法的使用过程及注意事项,作为网络笔记,以备后用。RSA和Base64RSA加密算法是对输入...

2017-12-27 14:49:29

阅读数:174

评论数:0

Java的Jar结构分析

背景Java的工程导出方式有多种,对于Java SE项目而言,基本的就是导出可执行jar和普通jar。可执行jar可以通过java -jar命令调用调用,普通jar可以作为第三方包被其他项目引用;而Java EE项目则是导出war包交给应用服务器使用。Jar包用压缩软件解压后,里面都包含一个MET...

2017-12-14 10:52:27

阅读数:376

评论数:0

Java并发编程实践

背景我的桌面一直留着一张Java线程知识结构图,近期正好有空梳理自己的技能知识,于是打印出来准备复习一下。2014年曾经把那本《Java并发编程实践》经典看过好几遍,不过时间太久远了,这张图上的多线程的知识有些也模糊了,趁此捡起来,于是有了本文的实践结果整理。Java线程知识图谱阻塞队列的应用多线...

2017-11-16 16:49:41

阅读数:258

评论数:0

Tomcat源码分析-Java原生态log运用

背景调试tomcat源码过程中,控制台日志打印的都是INFO级别的日志,于是就想修改下日志级别,打印Digester类的DEBUG级别的日志,便于观察Digester类解析server.xml的流程,顺便跟踪了一下tomcat使用日志的流程,整理如下。使用方法Java提供了原生态的日志工具包jav...

2017-06-07 16:19:02

阅读数:515

评论数:0

简单东西-Java定时调度线程池用法

If any execution of the task encounters an exception, subsequent executions are suppressed. Otherwise, the task will only terminate via cancellation ...

2017-03-10 18:16:58

阅读数:555

评论数:0

GC判断可回收对象算法

声明:本文摘录周志明先生的《深入理解Java虚拟机》,记录下GC算法中的可达性算法分析。是在问答频道看到一个对可达性算法的疑问,梳理下,也是自我学习巩固的过程。关于可达性算法的几点记录如下: 首先,可达性算法基本思路是定义一些列称为"GC-Roots"的对象作为起始阶段,...

2016-11-10 17:28:03

阅读数:687

评论数:0

Java Process应用

Runtimejava可以通过Runtime来调用其他进程,如cmd命令,shell文件的执行等。可以应该该类设置系统时间,执行shell文件。此处记录几个有用应用如下。 设置本地时间可以调用cmd /c date命令,完成本地时间设置,不过这个命令在win7下可以使用,但是win10需要管...

2016-11-10 14:09:31

阅读数:405

评论数:3

算法整理-二分查找列表最大值

需求描述 已知一个列表是先增后减的半有序列表,现在需要找出列表中的最大值,列表长度可能很大,考虑时间复杂度,该算法该如何实现? 实现思路 在不考虑时间复杂的的情况下,可以直接遍历,用max标识来记录最大值,知道找到一个比最大值小的记录,说明列表开始降序,最大值就找到了。 如果考虑到时...

2016-11-04 17:49:09

阅读数:1306

评论数:0

简单东西-插入排序算法Java实现

简单插入排序算法        数据结构里面,常用的内部排序算法之一,简单插入排序。算法思想很简单,就是从第2个元素开始,用临时变量存储该待插入元素,然后从该位置处指针往回递减,如果某个位置处元素比该待插入元素大,就往后挪,直到找到某个位置处的元素比该元素小或相等,说明其后一个位置就是待插入元素的...

2016-03-16 08:40:07

阅读数:493

评论数:0

简单归并算法-有序数组合并算法实现

一个简单的有序数组合并算法:写一个函数,传入 2 个有序的整数数组,返回一个有序的整数数组。实现相当简单,创建一个长度为这两个长度之和的数组,然后分别用三个指针指向这三个数组,找到这两个数组中各个元素在合并数组中的位置并插入,直到某个数组指针到达尾部。再将另一个数组剩下的所有元素,直接放入归并数组...

2016-03-14 14:33:50

阅读数:1579

评论数:0

归纳法-生成全排列算法Java实现

数学领域的全排列问题,  从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。《算法设计与技巧分析》这本书中,使用归纳法生成一组数【1,2,3……n】的所有排列问题,并用数组P[1……n]来存放每一个排列...

2016-02-19 14:11:57

阅读数:2120

评论数:0

Java基础-Map容器的并发访问控制

在并发环境中,多线程之间共享数据时,需要对数据访问进行并发控制。例如,经典的生产者-消费者的实例中,生产线程和消费线程共享同一个容器对象,那么必须使用线程安全的容器对象。         简单的使用HashMap,统计某些key的出现次数,正确的并发控制代码如下:

2016-02-15 23:00:17

阅读数:1497

评论数:0

Java基础-jdk自动资源管理功能

JDK1.7新功能中,一个很好用的功能就是自动资源管理功能try-with-resources。       try-with-resources 是一个定义了一个或多个资源的try 声明,这个资源是指程序处理完它之后需要关闭它的对象。try-with-resources 确保每一个资源在处理完...

2016-02-14 22:19:48

阅读数:545

评论数:0

数据结构-单链表的java实现

单链表实现链表的打印及元素删除操作,链表的实现主要是next属性的定义,将一堆节点关联起来的。实现简单的链表如下: public class LinkNode { private int value; private LinkNode next; public LinkNode(int ...

2016-01-22 17:26:52

阅读数:1143

评论数:1

简单东西-java动态更改JLabel背景图片

java的awt设置背景图片的一种方式是使用JLabel类,它的setIcon可以设置背景图片,但是如何动态修改背景图片呢?这源于问答频道上的一个问题,题主给的代码总是无法正确动态修改背景图片,找了一阵子,发现它处理点击事件的代码存在错误,JLabel类对象实例化一次就够了,然后动态setIcon...

2016-01-17 21:17:24

阅读数:4938

评论数:0

JavaEE-stuts2返回json数据简单实现

CSDN的ASK频道,看到关于struts2返回json数据的问题,整理了下struts2的简单demo,完成JSON数据的展示。     Action定义 public class ValidateAction extends ActionSupport { private static fi...

2015-04-24 15:43:12

阅读数:966

评论数:0

java基础-Reader的reset重置到文件首部

今天在CSDN问答频道看到一个问题,需要把一个BufferedReader读取完成之后,重新回到文件首部再读一遍。我想的是重新再new一个BufferedReader,后来查了下API发现有一个reset方法可以用,但是它要结合mark一起用。 import java.io.File; impor...

2015-04-23 17:21:51

阅读数:3365

评论数:1

java并发-线程饥饿死锁测试

线程饥饿死锁      《Java并发编程实践》中对线程饥饿死锁的解释是这样的:在使用线程池执行任务时,如果任务依赖于其他任务,那么就可能产生死锁问题。在单线程的Executor中,若果一个任务将另一个任务提交到同一个Executor,并且等待这个被提交的任务的结果,那么这必定会导致死锁。第一个...

2015-04-21 13:52:44

阅读数:2096

评论数:0

java并发-协作对象之间死锁测试

在协作对象之间可能存在多个锁获取的情况,但是这些获取多个锁的操作并不像在LeftRightDeadLock或transferMoney中那么明显,这两个锁并不一定必须在同一个方法中被获取。如果在持有锁时调用某个外部方法,那么这就需要警惕死锁问题,因为在这个外部方法中可能会获取其他锁,或者阻塞时间过...

2015-04-17 15:11:05

阅读数:1184

评论数:0

java并发-锁顺序死锁问题

初次接触死锁的概念是大学的一门课程《操作系统原理》中描述的“哲学家进餐”问题。操作系统中,由于各个进程共享系统资源而可能出现死锁问题。同样java多线程环境下,也存在资源共享导致的死锁问题。当一组java线程发生死锁时,程序有可能就此阻塞,而无法正常结束。Java应用程序中,我们使用加锁机制来确保...

2015-04-17 09:27:07

阅读数:3142

评论数:0

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