java
文章平均质量分 59
趣魂
失败是最好的老师
展开
-
java nio SocketChannel 底层编程踩坑(适用于高级程序员)
拆包,应答,半包,粘包, 是网络编程必须解决的底层问题。原创 2023-06-09 19:54:00 · 1279 阅读 · 0 评论 -
java swing 设计心得1 --窗体和面板
swing有很多组件 ,这节主要先讲Frame ,Panel,Dialog等容器组件用法和区别,其他组件后续讲。原创 2022-08-13 09:57:01 · 800 阅读 · 0 评论 -
java swing 布局心得(避免忘记)
swing布局一定要用netbean 的原生布局插件 或eclipse 的window builder 插件否则手写太麻烦 也容易错注意: 如果eclipse 编辑器中缺少Design 设计界面可以使用 右侧菜单中 open with-> windowbuilder editor 打开。原创 2022-08-12 17:30:22 · 1812 阅读 · 0 评论 -
如何理解 swing 是非线程安全 (原创)
代码】如何理解swing是非线程安全(原创)原创 2022-08-02 15:50:17 · 154 阅读 · 0 评论 -
dubbo 分布式框架 相关笔记
不要用分布式框架开发小系统你可能需要运行 dubbo ,activemq ,redis ,zookeeper 等第三方,对于小企业他们的经费有限,无法买好的服务器, 所以不要用这种框架,直接用jsp 或直接用spring mvc就够了分布式框架项目的投入必须100万以上dubbo原理dubbo提供了动态 rpc 服务解决方案1/ 把计算服务分布在不同的主机上,由dubbo-admi...原创 2019-01-09 16:02:53 · 199 阅读 · 1 评论 -
emqx mqtt 的使用笔记
经过测试emqx mqtt 虽然是主题模式但是,自己发送的任何主题的消息, 自己是无法订阅成功的emqx 4版本 的一些指令,控制台, 都发生改变,幸好帮助很齐全emqx 的 在线安装 后的配置目录与说明文档有差异ubuntu 是在/etc/emqx 中plugin中的emqx_management.conf 的端口management.listener.http =8081 可能会与你系统中的其他端口冲突导致dashboard 无法打开节点...原创 2020-09-02 15:23:44 · 2602 阅读 · 0 评论 -
对java python nodejs 主流高级编程语言的看法
java python nodejs 这三种语言各有特点,我建议都必须学习,不要只会一种,编程是程序员一辈子的活, 多学总是对的.小结:基本上高级编程语言在解决网络编程,web编程,文件编程和数据库编程GUI编程, 方面功能都差不多,会一种高级编程语言就足够了, 但是也有一些小差异;.对于高级语言,没有必要过多考虑性能,因为高级语言主要是处理复杂框架和逻辑,写法优化以后, 性能差异不大,只要稳定就够了例如:js 语言的异步编程模式与传统的多线程模式差异很大,初学者必须学习,否则无法理原创 2020-12-22 16:27:30 · 271 阅读 · 0 评论 -
3个用例说明 ajax请求+springmvc 的主要的2种 contentType (除开multipart/form-data )
springmvc接收ajax请求有两种contentType ,我用jquery 3个用例 来说明这两种contentType 1:contentType = “application/json;charset=UTF-8” 2:contentType = “application/x-www-form-urlencoded;charset=UTF-8” (默认)用例1前...原创 2018-09-03 22:06:32 · 533 阅读 · 0 评论 -
关于java byte[] 与 char[] 互转正解
网上 博文关于 byte[] 与 char[] 的互转写法很多都是错误的,特此重写 if (编码 == null) 编码 = Charset.forName("UTF-8"); ByteBuffer bb = ByteBuffer.allocate(bytes.length); bb.put(bytes); bb.flip(); CharBuffer cb = 编码.decode(bb); char[] cc =new char[ cb.limit()]; cb.g原创 2020-11-20 18:09:14 · 433 阅读 · 0 评论 -
jetty的 常用结构
只有一个handlerServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);context .setContextPath("/");//servlet之间是并行处理context .addServlet(servlet1, "/*"); context.addServlet(sevlet2,"/h"); //filter 之间是递归处理context.addFil原创 2020-10-21 14:37:08 · 160 阅读 · 0 评论 -
kryo 再次学习,发现不慢,可能以前用法错了
之前我有一篇文章写到kryo fastjson fst对比时kryo 速度最慢前不久在开发底层通信框架时 重新理解了这个kryo序列化引擎它不是多线程安全 ,所以必须实例化使用,经过测试,速度还是很快的,如果写法不当,就会造成严重减速经过它序列化后的大小,已经是非常小的,结构也非常合理...原创 2020-08-22 10:13:37 · 95 阅读 · 0 评论 -
通过jetty 重新理解 web服务器工作原理
背景只有真正明白了java web 服务器运行机理 ,才能 对各种web服务器 的问题处理得心应手. python java 的web服务器工作原理是一样的.关键三点:web项目所需的对象:1)servlet程序 ,被java编译后的可被jvm调用的 类 *.class通常servlet filter listener 都是被编译成了.class 文件注意:java 编译文件的输...原创 2019-11-09 10:44:20 · 213 阅读 · 0 评论 -
如果程序系统配置使用 json 配置文件 ,应该如何设计比较好
json 做配置文件还是比较直观的,看上去层次分明,写法比较自由{"ehcache":{ "dir":"d:/cache/", "ttl":"120", "heapsize_k":"10", "offheapsize_m":"2", "disksize_m":"10", &原创 2018-11-04 22:08:37 · 1211 阅读 · 0 评论 -
蚂蚁金服开放接口使用手记 适用于没做过的老鸟和中鸟 (不适合菜鸟)
文章目录序言学习流程访问蚂蚁金服技术中心:注册开发者创建应用打开沙箱开发指南与API手册位置菜鸟指导用秘钥保证交易安全序言说实在 因为自己一直很懒, 所以没有去亲自做过支付接口,只是大体了解相关流程.今天自己试了一天,发现这里面还是有些坑的.首先蚂蚁金服相关开发文档 虽然已经很简单了,但是还是比较乱的;他们家的很多专业概念, 没有比方说明, 普通人不好懂只能先乱入;注意: 如果你不...原创 2018-11-10 21:40:10 · 1144 阅读 · 0 评论 -
junit 调试时@test函数中的多线程如果没有特殊处理会立即结束
守护线程与非守护线程简单理解非守护线程不执行结束,程序就不会终止守护线程啥都不做,就是监控非守护线程,java进程剩下非守护线程时,进程就会关闭一般我们创建的多线程都是非守护线程.但是也有例外,例如在junit环境中 创建的多线程都变成了守护线程模式.所以测试时,就会搞不清状况: 为什么用了多线程,结果跑不出来,其实都是因为守护子线程没有运行结束, 测试进程就已经运行结束了....原创 2018-11-18 23:42:33 · 2643 阅读 · 0 评论 -
编程经-中高级- 理解系统设计的重要性
背景写给我的徒弟们你们已经跟我学习6个月了,在最近的2个月,我让你们自己做项目虽然你们懂了通过思维图,流程图,ER图,类图,DEMO的制作, 来帮助你们理解需求,设计程序.但是还是无法避免在开发后期不断返工的问题.其实我已经预料到这种情况,但是我更希望你们亲身经历过这个阶段. 这篇文章主要教你们如何通过面向对象编程避免返工.返工的原因在初学编程的阶段,大家关注技术多余需求.所...原创 2018-12-20 13:27:42 · 1252 阅读 · 0 评论 -
java对象 序列化性能 比较 fst FastJSON kryo (改)
java对象 序列化性能 比较 fst FastJSON kryo (无持久化)包版本结论原因分析代码2代码1包版本 <dependency> <groupId>de.ruedigermoeller</groupId> <artifactId>fst</artifactId&原创 2019-03-18 15:26:27 · 2949 阅读 · 0 评论 -
java eclipse野蛮打包 jar
java eclipse野蛮打包 jareclipse 一般打包法eclipse maven 打包法eclipse 一般打包法必须在eclipse工具中1.编译调式运行主类文件2.在菜单 file>export 中的 Java–Runnable jar file 打包3. 自己写一个bat 文件放在 jar 文件的同级目录中,bat 文件内容java -jar xxxx.j...原创 2019-09-03 14:52:54 · 142 阅读 · 0 评论 -
java jdbc 连接池 研究笔记 (自用)
背景国庆期间重新开发连接池, 发现曾经设计过的不合理的缺陷代码,早已被删除, 由于当时没有注释说明. 这次又稀里糊涂重新写了一遍, 后来才记起为什么不这么写的原因, 浪费了一些时间,非常懊悔.另外我觉得底层设计必须多次主动优化,必须要有足够的时间研发,要更加深入理解我们调用的每一个函数,还要进行各种场景的测试.才能确保系统安全每次优化都有很大收货,对很多东西有了新的理解记录网络中断时,...原创 2019-10-08 18:02:21 · 198 阅读 · 0 评论 -
HashMap 、ehcache 与 redis 在程序缓存上的用处和区别
ehcache 当做map用ehcache 比 redis 要快ehcache 与java 自带map的速度差不多 ,没有比较的意义如果不考虑 map的大小 和本地备份 只要用map,但很多时候我们不得不考虑宕机造成的系统影响所以 我们会用可以持久化的ehcache 代替map,如果我们的程序比较大,用到了分布式,这时候最好引入redis 做缓存的异地备份,甚至可以利用redis的灵...原创 2018-11-04 21:47:07 · 3938 阅读 · 1 评论