- 博客(49)
- 资源 (23)
- 问答 (2)
- 收藏
- 关注

原创 HELLO WORLD-目录大纲
HELLO WORLD基础知识点篇:原理知识篇优化提升篇方案设计篇项目管理篇团队管理篇新技术篇数学篇生活篇感悟篇...
2020-09-12 11:33:37
270
原创 go语言比java高级在哪里
有人说go比较高级,无非是说go语言比java多了用户态的纤程。目前java原生jdk到了JDK14,还没有支持,不过我相信以后肯定会支持的。目前只能通过三方jar包(Quasar)的形式来支持。那就提前感受下纤程的威力吧。话不多说,直接上测试结果,大家自行感受其威力!!!1.多线程。/** * @Auther Micky * @Date 2020-10-25 11:35 * <p> * 4个cpu,8G内存, i7处理器,Windows10系统 * 线程和纤程的区别
2020-10-26 00:26:20
671
1
原创 java执行方式,编译 or 解释
前提:默认hotspot虚拟机1.java是混合执行的方式,即解释+编译(JIT,热点代码,hotspot的由来)。2.也可以通过VM参数指定执行模式 1)-Xmixed 默认的混合模式模式,开始时候全部解释执行,启动速度较快,当检测到热点代码,则将其编译为本地代码(二进制 机器码,类似exe)提高执行效率。 2)-Xint,解释模式,启动快执行慢。 3)-Xcomp,编译模式,执行快,启动慢。3.热点代码如何检测 1.多次被调用的方法,有...
2020-09-13 23:30:35
287
原创 基础知识点篇
基础知识点篇1.Java基础知识篇2.JVM知识篇 (1)java执行方式,编译还是解释 (2)JVM优化实践3.设计模式4.数据库和缓存5.JavaEE相关框架6.常用中间件上一级:大纲目录...
2020-09-13 11:19:47
129
原创 java 使用exe4j和idea将工程打成jar并创建成exe文件
java 使用exe4j和idea将工程打成jar并创建成exe文件1.获取exe4j和icon文件 https://download.youkuaiyun.com/download/miniyuyu/108629352.编写好程序,用idea打成带有可执行主函数的jar3.用exe4j打成可执行的exe文件步骤2和3 可参考文章 https://...
2018-12-20 00:42:17
695
原创 与或非——编程语言中的!|| && 与离散数学中的!v ∧ 优先级
1.问题背景:一同事让看一段逻辑有没有问题,其中一个if如下:if(A || B && C){ ...}是的,没有括号,平时根据需要会写成if((A || B ) && C){ ...}或者if(A || (B && C)){ ...}但是遗留的代码就是没有括号,就天真的以为&&am...
2018-11-14 23:20:42
7454
原创 hadoop入门学习
1.hadoop1.0,2.0架构演进(都说3.0不稳定,以后再看)2.环境搭建(直接拉取阿里的docker镜像搭建)环境准备:linux系统(物理机或者虚拟机皆可),笔者是物理机Cenos7,请在root权限操作a) 获取镜像从阿里拉去hadoop镜像 :docker pull registry.cn-hangzhou.aliyuncs.com/kai...
2018-10-16 01:11:43
284
转载 BlockingQueue系列源码解析
说明:BlockingQueue是阻塞的有界队列,典型的生产者消费者模式,相对的是无界队列LinkedTransferQueue。 一.子类1. ArrayBlockingQueue 基于数组的阻塞队列实现,在ArrayBlockingQueue内部,维护了一个定长数组,以便缓存队列中的数据对象,这是一个常用的阻塞队列,除了一个定长数组外,ArrayBlockingQ...
2018-09-06 23:51:14
182
原创 java开发环境搭建小结
1.IDE工具:intellijIdea(推荐),eclipse, myeclipse2.代码管理工具:git,svn3.远程连接服务器:xshell,finalshell,putty等4.远程连接服务器文件管理:filezilla5原型设计:axure6.比较工具:beyond compare7.文本:notepade++, ultraedit8.http请求调试工具...
2018-07-21 22:15:07
609
原创 java中位运算符
今天看hashmap的源码,其中大量用到了位运算符,在此总结一下。Java的位运算符主要有:&、|、^、~、<<、>>、>>>。1,&(位与) 作用是对运算符两侧以二进制表达的操作符按位分别进行'与'运算。而这一运算是以数中同样的位(bit)为单位的。规则是:仅当两个操作数都为1时,结果才为1。否则为0...
2018-05-13 15:15:15
262
原创 java定时器由Time.scheduleAtFixedRate改用ScheduledExecutorService
java并发编程实践中建议用ScheduledExecutorService来替代Time.scheduleAtFixedRate。把微服务中的定时器的那段代码重构了一下。1,Timer
2018-05-11 23:34:13
849
原创 java xml解析工:dom4j , jdom , jaxb , stax, sax的具适用场景比较
工作中会遇到各种xml的读和写,在此总结一下各自的使用场景。1.dom4j,最常用的xml读写工具。功能强大,复杂的xml读写的首选。2.jdom,dom,解析xml时,一次性加载进内存,大文件容易OOM,缺点即优点,却方便修改,适用于文件不大,需要反复修改的xml文件。3,stax,sax...
2018-05-09 22:10:18
2555
原创 java8反编译工具procyon-decompiler推荐
1.背景 : 之前用eclipse的时候,jd不能反编译java8的代码。网上搜了一下,可以用procyon-decompiler。也是能用,遗憾的是不是图形界面。2.使用方法: 下载 https://download.youkuaiyun.com/download/miniyuyu/10401608 内涵一键执行脚本 (1)...
2018-05-08 23:41:20
7300
1
原创 java程序员必读书目推荐
1.java编程思想:目前知道第四版,没有Java8的知识,但是OO的思想讲的还是透彻的。入门必备。2.effective Java:作者为jdk集合框架的开发者,读他的书可以结合jdk源码,效果更佳。主要讲了如何更高效的使用java技术,类似与clean code,规范性的东东,但是讲的侧重点都来自于jdk源码的开发思想,必读。3.深入理解Java虚拟机(周志明):讲解java虚拟机技术,偏底层...
2018-05-06 11:26:52
798
原创 论UT、FT等测试对代码重构的重要性
背景:数据库一张表的增删改查操作之前都有各种检查,检查参数是否合理,以及数据库是否存在等等。但是代码经手了3-5人,风格混乱不一致,急需重构。过程:花了半天进行重构,由于业务复杂,分支较多,不可能手工全都测试到。所以跑一下之前的UT和FT,确实发现了几个问题。快速解决后,一片绿,顺利上线。结论:所以代码的UT,FT时很重要的。记得TDD思想中也是这样强调的,之前没什么体会,这次体会较深。记录之。...
2018-05-06 10:52:32
2939
原创 java原生命令编译与运行,javac与jar
JDK:1.9一. 编译分四个阶段1.单个Java文件编译javac className.class2.用到第三发jar包3.多个包多级目录的java工程 我试了一下,下面三种方式都可以,可用通配符。 ps: 常用-d classes将生成的.class文件指定到目录,以便打jar。不加则在java文件统计目录。 C:\Users\15164\Desktop>javac -...
2018-03-25 23:25:49
1327
原创 工作中遇到的java内存溢出异常(OutOfMemoryError)和栈溢出异常(StackOverflowError)
1.栈溢出异常(StackOverflowError) 形成原因: 死循环调用方法。 前几天提了关于栈溢出的一个故障单。微服务A请求微服务B资源的一个方法变成了懒加载,懒加载方法中判断当资源为空时就向微服务C请求资源,请求得到资源后,先缓存,再通微服务A去更新数据库{更新表结构时候还会向微服务B请求资源},然后再返回资源,当资源不为空时,则直接返回资源。但是当资源微服务A一...
2018-03-25 22:36:31
1454
原创 人生第一把死锁
1.背景程序有两个入口,一个是从界面发起,一个是从MQ消息过来的,同时请求,请求的资源之间相互请求等待,形成死锁。表现:界面不响应。堆栈显示有死锁。2.synchronized简介 synchronized关键字是对象锁,内置锁,可重入。可修饰实例方法,静态方法,资源对象{位于方法内部},分别锁住的对象是:调用实例方法的对象,静态方法所在类的class对应的对象,资源对象。...
2018-03-23 00:46:50
1010
原创 三人背后猜数字游戏
1.背景:猜数字,ABC三人背后各贴一个数字,正整数,各自能看到对方的数字,其中一人为另外两人之和。依次问ABC,第一轮,问A,A猜不出,问BC,同样猜不出,第二轮,AB猜不出,C说我知道,我背后是49。问AB各位多少?2.解题思路{遍历} 正整数范围内,两数相等则则只第三个数为两者之和。猜出数的人则是其派出了两外一个数,因为他的数只有两种可能,为另两者之和或只差。假...
2018-03-23 00:12:17
4599
原创 单核cpu多线程有必要吗?
通常一个任务不光 cpu 上要花时间, io 上也要花时间(例如去数据库查数据,去抓网页,读写文件等)。 一个进程在等 io 的时候, cpu 是闲置的,另一个进程正好可以利用 cpu 进行计算。 多几个进程一起跑,可以把 io 和 cpu 都跑满了。 现在一般都是虚拟资源,资源有弹缩机制,所以一般该跑多线程的时候就可以跑多线程。...
2018-03-05 23:59:17
12552
原创 文件搜索小工具
package o.o.utils;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;im
2017-09-08 23:49:29
388
转载 解决getOutputStream() has already been called for this response
getOutputStream() has already been called for this response异常出现的原因和解决方法:jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),没有妥善处理好的原因。具体的原因:jsp编译成servlet之后在函数_jspService(HttpServletRequest request
2016-04-30 22:22:43
645
原创 RSA
这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir 和 Leonard Adleman。早在1973年,英国国家通信总局的数学家Clifford Cocks就发现了类似的算法。但是他的发现被列为绝密,直到1998年才公诸于世。RSA算法是一种非对称密码算法,
2016-04-26 22:52:14
359
转载 JSch:纯JAVA实现SFTP文件上传和下载
如果你想用纯JAVA实现SFTP文件上传或下载,或者是想纯JAVA连接到SSH2服务器上执行命令,那就使用JSch.jar包吧。这里我们先描述实现SFTP协议的上传和下载,上代码和详细的代码注释:?123456789101112131415
2016-04-26 22:11:45
973
转载 MyBatis3与Spring3无缝集成-从iBatis平滑过渡
MyBatis3与Spring3无缝集成-从iBatis平滑过渡从2010开始接触iBatis到现在,一直到现在把iBatis作为数据访问层ORM。为了演示一个Web应用,今天又搭了个SpringMVC应用,由于应用比较简单,Spring版本直接用最新版本3.2.4.RELEASE,结果惊讶的发现,Spring已经不推荐使用iBatis了,SqlMapClientDao
2016-04-25 20:26:55
457
转载 Spring配置数据源的三种方式 (dbcp,c3p0,jndi).
[html] view plaincopy1,使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。 bean id="d
2016-04-25 20:25:46
478
转载 加密Spring加载的Properties文件
加密Spring加载的Properties文件 目标:要加密spring的jdbc配置文件的密码口令。 实现思路:重写加载器的方法,做到偷梁换柱,在真正使用配置之前完成解密。 1、扩展package com.lavasoft.freamwork.ext.spring;import com.lavasoft.freamwork.common.Thr
2016-04-25 20:24:00
357
转载 MyBatis
MyBatis的前身就是iBatis,iBatis本是apache的一个开源项目,2010年这个项目由apahce sofeware foundation 迁移到了google code,并且改名为MyBatis。 iBATIS 一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data
2016-04-25 20:21:43
358
转载 DOM4J
1、DOM4J简介 DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP。 DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型,就能使用。 Dom:把整个文档作为一个对象。 DOM4J 最大的特色是使用大量的接口。
2016-04-25 20:09:51
297
转载 ajax传递给后台数组参数方式
在项目上用到了批量删除与批量更改状态,前台使用了EasyUI的DataGrid,用到了批量更改数据状态功能。在前台可以获取每条数据的ID,但是如何通过数组方式传递给后台?通过昨晚的各种方式的调试,终于得出了答案! 在此作为备忘。目前有两种方式可行:方式一前台代码:[javascript] view plain copy print
2016-04-25 20:06:44
676
转载 springMVC与MyBatis整合
Spring与MyBatis整合需要引入mybatis-spring.jar文件包。 其提供了与整合相关的API:SqlSessionFactoryBean--为整合应用提供SqlSession对象资源MapperFactoryBean--根据指定的Mapper接口生成Bean实例MapperScannerConfigurer--根据指定包批量扫描M
2016-04-25 19:57:06
656
转载 Spring结合Quartz实现多任务定时调用
Quartz框架提供了丰富的任务调度支持,比如,在 何时执行何种任务,它是一个开源的由OpenSymphony维护的项目,开发者能够在Java EE,或单独的Java SE应用中使用它。无论是简单的任务调度,还是复杂的企业级应用,Quartz都能够很好地胜任。其中,这些任务可以是普通POJO,甚至还可以是EJB 3.0组件。如果开发者需要开发如下方面的应用,则Quartz是理想的选
2016-04-25 19:55:20
421
转载 sitemesh技术的应用
一,基本概念1,Sitemesh是一种页面装饰技术 :1 :它通过过滤器(filter)来拦截页面访问2 :根据被访问页面的URL找到合适的装饰模板3 :提取被访问页面的内容,放到装饰模板中合适的位置4 :最终将装饰后的页面发送给客户端。2,在sitemesh中,页面分为两种:装饰模板和普通页面。1)装饰模板,是指用于修饰其它
2016-04-25 19:47:48
342
转载 Oracle中insert into select和select into的用法(异常0RA-00905:missing keyword的解决)
两张表进行数据的拷贝,最常用的拷贝语句是:insert into select 和 select into from但是请绝对的注意:在Oracle中select into from不可以使用-----原因很简单:select into是PL/SQL language 的赋值语句!如果使用则Oracle会抛出0RA-00905:missing keyword的异常!但是可
2016-04-25 19:42:52
843
imb-jca-线程堆栈.zip
2020-04-06
struts2 的 人力资源小型网站
2016-04-05
java jaxb解析xml文件为一个对象,取值时需要大量判空
2017-12-12
李刚,javaee企业级应用中的自定义标签库URI错误问题
2015-07-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人