JAVA
文章平均质量分 77
身披白袍
从简单的实例开始。
展开
-
Spring 学习笔记③:JDBC与事务管理
Spring中的JDBC与事务管理原创 2020-07-05 17:37:43 · 474 阅读 · 0 评论 -
Spring 学习笔记②:动态代理及面向切面编程
面向切面编程的笔记和和实现要点。含动态代理的内容。原创 2020-07-05 17:33:55 · 486 阅读 · 0 评论 -
Spring 学习笔记①:IoC容器、Bean与注入
IoC容器、Bean与注入原创 2020-07-05 17:26:55 · 2684 阅读 · 1 评论 -
[Java]MyBatis学习笔记及速查手册
MyBatis 手动编写 SQL,支持动态 SQL、处理列表、动态生成表名、支持存储过程原创 2020-06-13 23:25:28 · 381 阅读 · 0 评论 -
[Java]Hibernate学习笔记及实用速查手册
Hibernate是一款开源持久层ORM框架原创 2020-06-11 22:42:28 · 349 阅读 · 0 评论 -
[Java]Maven项目打包导致的org.hibernate.boot.MappingNotFoundException: Mapping (RESOURCE) not found异常
[Java]Maven项目打包导致的org.hibernate.boot.MappingNotFoundException: Mapping (RESOURCE) not found异常原创 2020-06-11 16:48:50 · 743 阅读 · 0 评论 -
[Java]MyBatis的使用示例
Mybatis 速查笔记原创 2020-06-09 23:45:02 · 312 阅读 · 0 评论 -
[Java]实用库:Lombok的使用笔记
Project Lombok是一个Java库,它自动插入到编辑器和构建工具中,增强java的性能。基于AST(抽象语法树)来实现对Java语法的修改,在编译到字节码之前起效。原创 2020-06-08 00:20:14 · 438 阅读 · 0 评论 -
[JAVA][面试][多线程]多方法解决循环打印1~n的数字
JAVA面试题:多线程循环打印1~n的数字,多方法解决思路。原创 2020-05-30 11:33:23 · 1075 阅读 · 0 评论 -
从零开始的JNA之路(三):利用jna-platform.jar调取窗口及安装键盘钩子
jna-platform封装了一些常见的WIN32平台功能,用于简化常用Native Access的操作;本篇利用jna-platform实现了获取窗口句柄、安装键盘钩子两个例子原创 2018-01-31 20:14:04 · 16587 阅读 · 10 评论 -
从零开始的JNA之路(二):自定义DLL的调取
如何编写一个DLL并通过JNA调用。via VS2017 && IDEA。原创 2018-01-31 12:37:26 · 1399 阅读 · 0 评论 -
[Java]洗牌效果Model的实现及RandomAccess接口
洗牌效果的实现并不复杂,主要使用的是Collections的静态方法shuffle(List list):List list = new LinkedList();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);Collections.shuffle(list);//list将被打乱list.forEach(Sy原创 2018-01-28 21:29:04 · 495 阅读 · 0 评论 -
[JAVA]从零开始的“桌面宠物”之路(二):系统托盘与任务栏
在Window系统下,打开QQ宠物,我们并不能再任务栏看到相关的窗口。这也很好理解,毕竟桌面宠物就相当于一个桌面挂件,如果这个挂件侵入到我们的工作区(任务栏),就很烦,也很影响工作效率:当我们需要在多个窗口中切换时,要把鼠标多略过一个“桌面宠物”的图标.我们的今天的目标就是:隐藏任务栏图标并添加一个系统托盘图标。原创 2017-12-05 13:27:46 · 4635 阅读 · 0 评论 -
Android UDP通信的简单实例和用法归纳,以及与TCP对比、常见问题
UDP的数据发送是按照包来发送的。也就是说,你要先把你的数据包装成一个DatagramPacket,然后发送出去。相比起TCP,UDP实现起来逻辑更简单(收发方逻辑几乎是相同的),开销也更小,在一般通讯时,主要利用UDP来发送消息是个不错的选择;不过我们还需要一点辅助手段来处理UDP丢包的问题。原创 2017-04-19 10:34:44 · 1788 阅读 · 0 评论 -
Android TCP通信的简单实例以及常见问题[超时/主线程阻塞]
个人偏好从简洁的实例入手,最后再进行深入的理论学习。理论什么的先放一边,把程序跑起来再说。只有跑起来了,才会有动力去继续往下学,参透整个代码的运行机制。附带一个android TCP实例,并对一些常见的连接错误问题进行备注解答。原创 2017-04-14 21:10:58 · 9296 阅读 · 2 评论 -
[JAVA]数字摘要算法工具类——(Hamc)MD5/SHA1/SHA256/SHA512/PBKDF2
数字摘要算法工具类 含(Hamc)MD5/SHA1/SHA256/SHA512以及PBKDF2原创 2019-03-11 15:49:08 · 1641 阅读 · 0 评论 -
[JAVA]Token机制及管理类代码实例
Token是一种分布在客户端的无状态用户登陆证明;包含token的运转机制及管理代码(JAVA)原创 2019-03-11 17:42:27 · 1503 阅读 · 0 评论 -
[JWT][JAVA]JSON Web Tokens的简单使用(java-jwt)
概括来说,JWT是一种符合RFC 7519工业体系设计的、基于JSON对象的、利用RSA等算法签发的Token框架/标准。原创 2019-03-12 23:10:46 · 3467 阅读 · 0 评论 -
从零开始的JNA之路(一):jna包的获取与C语言库调用
JNA(Java Native Access)与JNI(Java Native Interface)都是JAVA环境下,为JAVA提供与其他语言通信的方法。JNA在JNI的基础上做封装,主要解决的是“如何更快地编写访问本地库(native library)的代码”的问题。性能上当然JNI会更高,但JNA胜在简洁,常用于调取windows系统下的dll动态链接库等。原创 2018-01-30 23:40:11 · 4156 阅读 · 0 评论 -
[JAVA]从零开始的“桌面宠物”之路(一):动画效果
也算是突发奇想,以前一直用C#写的桌面应用,但最近有点沉迷JAVA,加上最近不小心打开了阔别十来年的QQ宠物(现在QQ宠物Client已经变得都是广告了),想起了瑞星小狮子,有点怀旧,就想找找有没有简单、干净一些的桌面宠物养成游戏软件,写代码的时候趴在窗口上卖卖萌也是甚好的。我会尽量不使用除了JDK自带的jar以外的东西,并随缘更新这个系列。由于我不是很喜欢写xml,因此主要将用Swing来进行开发。原创 2017-12-03 22:33:43 · 16118 阅读 · 5 评论 -
[Java]“语法糖”系列(二)之Lambda表达式/匿名函数(Lambda Expression)
简短的说,Lambda表达式是一种用于取代匿名类,把函数行为表述为函数式编程风格的一种匿名函数。可以使你的Java代码更优雅、简洁。原创 2017-11-24 21:42:47 · 4548 阅读 · 0 评论 -
[Java]利用Scoket发送各类文件-实例代码-长连接-极简代码-TCP协议
[Java]利用Scoket发送各类文件-实例代码-长连接原创 2017-06-04 19:07:51 · 1564 阅读 · 0 评论 -
通信设计:利用java的socket发送json
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。原创 2017-05-12 20:22:20 · 7628 阅读 · 0 评论 -
BufferedWriter.write()写中文乱码的问题
如果转成byte[]或者用String,getBytes("UTF-8")都不能完全有效地解决问题。原创 2017-04-20 23:46:49 · 9250 阅读 · 0 评论 -
一个使用高德地图SDK进行逆地理编码的例子
在>官方文档<中其实已经写得很清楚了,不过我想如果是第一次碰这类东西还是容易出错的吧?而且也有一些易错点文档说得不是很清楚,那我再来简单归纳一下。原创 2017-04-24 20:16:00 · 2823 阅读 · 0 评论 -
一种减轻服务器负担并提高客户端间通讯效率的网络通讯设计[TCP/UDP合用] | 简单加密
这是一个简单的P2P模型,目标是尽量减少服务器的负担和维持双方通讯的开销。我自己设想了一个通讯架构,主要的设计思路就是,仅在登陆时通过服务器获取数据,然后客户端间互相通讯。一来减少了服务器出入流量,二来免去了服务器转发的耗时,三来客户端间完全可以靠UDP通讯提升通讯效率。并试图解决UDP通讯丢包及安全缺失的问题。原创 2017-04-19 17:25:00 · 1737 阅读 · 0 评论 -
[java]实现Brainfuc解析器
利用java实现了Brainfuc语言的解析器原创 2017-06-24 15:27:49 · 1258 阅读 · 0 评论 -
[JAVA]重写父类方法并向上转型时的初始化问题
由“如何模仿安卓的Activity,设计一个父类,使得对象被创建(调用)时某些周期函数依次被调用,且该性质不因子类的重写而被破坏。”引发的问题。原创 2017-09-11 23:29:29 · 1344 阅读 · 0 评论 -
[JAVA][MD5]关于MD5的实现和JAVA生成MD5
>获取完整摘要算法工具类代码:[JAVA]数字摘要算法工具类——(Hamc)MD5/SHA1/SHA256/SHA512/PBKDF2>Java实现MD5JAVA JDK中的security包自带了MD5的加密算法,经过加密后,会生成一个128位的二进制序列。首先导入这个包:import java.security.MessageDigest;然...原创 2017-09-30 00:13:33 · 1136 阅读 · 0 评论 -
[Java]利用DOM解析DOM文件|利用socket发送XML DOM
DOM的特点是随机读写查询,但是一次性要把xml读到内存里,对于大的xml文件而言,不是个好方法。加之我个人觉得W3C的Document这套体系的坑比较多,如果要用的话,需要非常系统的学习才能避开这些坑,挺麻烦的。所以我还是建议采用SAX或其他已包装好的API来写xml比较好。常见问题:#text/getNodeValue()方法输出均为null/DocumentBuilder.parse(InputSource is)方法无效原创 2017-05-29 16:00:11 · 1912 阅读 · 1 评论 -
[Java]进制转换代码实例·初级
二进制与十进制互转,十以下进制任意转换。简单、没啥难度,就是写个样例以后可以直接copy。原创 2017-08-03 22:46:09 · 864 阅读 · 0 评论 -
一个在服务器上运行的TCP通信转发服务器[Java]
刚刚写了一个简单的服务器转发功能,没什么难的,大概分享一下服务器的代码,以供有需要的人参考(但请不要直接Copy)。主要思路是这样的:建一个Map<String,Socket>存放着ip标示和相应的长连接Socket,需要转发时,从这个Map里获取相应的Socket,然后就可以转发了。原创 2017-04-21 23:20:48 · 5674 阅读 · 0 评论 -
[JAVA-GUI]Swing里JPopMenu中JMenuItem的点击事件
[JAVA-GUI]Swing里JPopMenu中JMenuItem的点击事件原创 2017-11-20 21:22:14 · 9191 阅读 · 0 评论 -
[JAVA]单元测试:从零开始的JUnit之路(Elicpse/IDEA)
JUnit是当下最流行的单元测试平台。JUnit4主要基于JDK5提供的反射机制,因此需要JDK5以上;而JUnit5则结合了JDK8的lambda表达式,因此需要在JDK8以上运行。本博客将从零开始说说什么是单元测试、什么是JUnit、如何在JAVA中做一个单元测试等。原创 2017-11-21 13:10:29 · 1714 阅读 · 0 评论 -
[Java]“语法糖”系列(三)之集合流操作(Stream)[笔记]
这里的这个流和IO流不一样,是JDK8中对Collection对象功能的加强。原创 2017-11-25 17:49:03 · 2162 阅读 · 0 评论 -
[JAVA]反射机制按顺序获取getDeclaredFields()/getDeclaredMethods()
在JDK的API文档里明确标注了:不能保证getDeclaredFields()/getDeclaredMethods()返回的Fields[] 和 Methods[] 的顺序。注意是不能保证返回顺序,而不是返回是乱序:它完全可能是乱序,也还可能是按照声明顺序排布。这是因为,JVM有权在编译时,自行决定类成员的顺序,不一定要按照代码中的声明顺序来进行编译。因此返回的顺序其实是class文件中的成员正向顺序,只不过在编译时这个顺序不一定等于声明时的顺序。原创 2017-11-12 12:00:29 · 14974 阅读 · 10 评论 -
[Java]“语法糖”系列(一)之方法引用(Method References)
JAVA经过这么多版本的迭代,已经跟几十年前的C++之流完全不同了;在JAVA中,引入了很多更抽象的语言特性,比如Lambda、迭代器、方法引用之类的,有人视之为语法糖,因为这些新的高级语言特性确实精简了编写代码时的工作量、也使得整体代码更加易读(前提是你学习了这些语言特性)。Anders Hejlsberg就提到过编程语言在未来会逐渐分化并融合各自的特性,在传统的声明式语言上更加抽象化地加入函数式编程方法。原创 2017-11-23 22:44:32 · 1442 阅读 · 0 评论 -
[JAVA]利用bat将jar转变成一个可执行文件exe
如何简单利用bat和一句简单的C语言让你的jar文件伪装成一个exe文件,在windows下肆意运行。原创 2017-12-03 14:07:14 · 6774 阅读 · 7 评论 -
[JavaWeb]Servlet验证码实现(实例代码)
举个小例子吧,蛮简单的东西,不过看起来似乎需求蛮大...原创 2017-07-28 10:38:45 · 1167 阅读 · 0 评论