java
文章平均质量分 69
tim5wang
Geek极客精神可以追溯到什么时候?
展开
-
2020年秋招大厂Java热点问题总结
Java后端面试热点问题经过秋招从提前批到正式批,从7月低到9月初40天左右,二三十场面试经验简单总结出Java后端面试会问的比较基础的热点问题,希望能帮助到小白~(如果基础知识都答不好,面试官是不会为问你上层的东西的,哪怕你项目经验足,懂高并发懂微服务,懂架构设计,照样一面挂)计算机基础部分计算机网络TCP 的三次握手和四次挥手的过程 【url】计算机网络的7层模型和5层模型 【url】UDP和TCP的区别和优缺点 【URL】TCP是如何保证可靠传输的 【URL】HTTP协议有哪些常原创 2020-09-23 14:05:05 · 271 阅读 · 0 评论 -
java里的BIO、NIO、AIO
Java BIO、NIO、AIO本文转载于 http://www.imooc.com/article/265871 支持原创导读:本文你将获取到:同/异步 + 阻/非阻塞的性能区别;BIO、NIO、AIO 的区别;理解和实现 NIO 操作 Socket 时的多路复用;同时掌握 IO 最底层最核心的操作技巧。BIO、NIO、AIO 的区别是什么?同/异步、阻/非阻塞的区别是什么?文件读写...转载 2019-08-09 17:04:45 · 191 阅读 · 0 评论 -
JPA自定义原生SQL语句的查询结果如何转化为对象,三种方法
写在最前面(最近的感悟)这半年太忙了,好久没写博客了。写久了PHP项目,忽然想拾一拾JAVA项目,因为JAVA的消息队列、日志、分布式方案比较多,可以自己实现的功能比较多,具有比较高的性能,稳定性好,而且考虑到JAVA的开源中间件比较丰富,大数据生态多是JAVA的,适合搞大型项目,于是最近的项目后端采用了 Spring boot + JPA + Redis + MySQL,前端使用 Vue +...原创 2019-06-08 11:42:17 · 13883 阅读 · 5 评论 -
java实现一个JSON字符串处理工具,轻量级
突发奇想要造一个轮子,解析解析JSON,因为对Java正则不熟练,写了两天才写好。特点:1. 能够正确处理括号嵌套,但是可能会受到json中嵌套的特殊带有干扰性的单括号影响,有时间可结合第2点完善。2. 能够正确处理带有转义引号的字符串。3. 对json的键值对定位处理类似于新版MySQL中的处理方式“attr1.$2.subattr2”.4. 看懂本代码关键靠这几张来自JSON官网的...原创 2019-03-24 02:37:09 · 559 阅读 · 0 评论 -
java C/S架构的客户端自动更新实现
前言: 用java开发的客户端,还在不断开发完善中,客户有几十个时,如果挨个通知下载更新,就太麻烦了,于是实现了一个更新功能,以节省更新的人力物力。实现思路: 从服务器获取最新版本号,和当前版本判断,从而判断出是否需要更新从服务器下载最新版本到临时文件夹关闭当前程序,复制临时文件夹的新版本覆盖运行目录文件,启动程序(笔者最开始担心这个,敲黑板!,下面这句是重点) ...原创 2018-08-09 23:15:44 · 11088 阅读 · 9 评论 -
java 实现一个简单的日志功能,输出到文件或者输出到控制台
项目中简单的记录日志,输出到控制台,上线直接设置输出级别,记录关键信息 实现了一个简单的日志,使用效果如上图,记录时间,日志类型,调用位置,消息内容。直接上代码,细节看注释import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.Out...原创 2018-08-08 10:52:18 · 14779 阅读 · 2 评论 -
使java_websocket_cilent支持wss协议
可以用nginx或者apache使用 https到http的代理,实把wss服务代理到wsserver {listen 443;server_name test.xxxx.com;access_log logs/test.xxxx.log main;ssl on;ssl_certificate /etc/test.xxxx.com.cer; # 这里是服务端的证书路径ss...原创 2018-08-06 22:17:40 · 6587 阅读 · 4 评论 -
JAVA 秩序制作exe运行程序和安装包方法汇总
用java开发出来的程序,想给用户使用,直接给jar文件,用户没有jre,或者不会配java环境会造成诸多困扰。 于是就想把java打包的可执行jar包打包成exe可执行程序发布,本文介绍其过程。 jre6有93M,压缩后约30M。1. 精简jre,java8的jre动辄100+M,项目中有大量的不需要使用的包,可以精简掉,笔者试过的有三种方法:1.1 原始方法(原...原创 2018-07-13 16:17:29 · 3988 阅读 · 1 评论 -
JAVA SE踩坑实践——解析读写 ini配置文件,简易键值对存储类,AES加解密算法
解析ini配置文件,ini配置文件格式如下: 分为小节:[section] 键值对: key=valuepackage com.cdr.printer.view;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStre...原创 2018-06-24 21:15:36 · 498 阅读 · 1 评论 -
JAVA SE踩坑实践——多线程避免孤儿线程,幽灵线程
项目中使用java socket编程和多线程技术,常常发现程序终止了,但是被连接对象依然被占用,进任务管理器发现java还在后台跑着。研究得知c++多线程编程中常遇到这样的问题,成为死亡进程或者幽灵进程。解决方法: 1. 解决方法1 : 父线程调用子进程的 join() 方法,但是会造成父线程阻塞,本文中父程需要创建若干个子线程完成并发任务,不能阻塞其他线程,所以会严重降低性能。 2....原创 2018-06-24 19:40:23 · 961 阅读 · 0 评论 -
JAVA SE踩坑实践——网口热敏打印机编程遇到的坑
因为项目涉及到的保密等因素,这里不提供实现思路和代码,这里只提及部分知识点项目遇到的挑战项目要实现打印机IP复用(一个打印机可以虚拟成多个打印机)打印机打印相应越快越好手机端打印可能和打印机不在同一局域网(用的4G网络)一个酒楼可能有几十台打印机需要打单因为网络不畅/缺纸等问题造成的失败应当能够重打大量失败需要重打的任务应当不造成驱动拥堵,造成大量内存消耗或者打印延迟...原创 2018-06-24 18:26:44 · 1234 阅读 · 2 评论 -
JAVA SE踩坑实践——程序最小化到系统托盘 SystemTray
核心就是使用SystemTray类。 其中笔者遇到的坑: 1. 图标没设置自适应大小:trayIcon.setImageAutoSize(true);导致只能显示所设图片的左上角空白 2. 为了项目导出后不依赖其他文件,图片放到src下某个包里,使用代码this.getClass().getClassLoader().getResource("prt.png")).getImage()获...原创 2018-06-24 17:37:50 · 924 阅读 · 2 评论 -
HeadFirst设计模式笔记(一)策略模式,观察者模式
1. 设计原则找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。针对接口编程,而不是针对实现编程。多样组合,少用继承。为了交互对象之间的松耦合设计而努力。2. 设计模式1. 策略模式1.1 定义: 策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。1.2 鸭子模拟器案例:原创 2017-07-17 08:58:42 · 310 阅读 · 0 评论 -
java8有哪些经典java课程里未曾提及的东西?
default关键字, Collection.removeIf方法 小编阅读Collection接口时看到如下的东西: * @since 1.8 */ default boolean removeIf(Predicatesuper E> filter) { Objects.requireNonNull(filter);原创 2017-08-03 14:30:59 · 432 阅读 · 0 评论 -
DAO层通用实现,结果集ResultSet转化为javaBean的反射实现,自动生成javaBean
在学习持久层框架之前,反复编写dao层代码编烦了,就自己实现了一个能方便地根据数据库表创建javaBean,并实现其增删改查,结果集转化为List集合,sql编译语句里参数赋值的自动化的“框架”。本文所使用的数据库是mysql自带的simple data里的sakila数据库先看一下使用效果实现过程核心代码如下 其余代码会在后面贴上 其余代码先看一下使用效果:先编写并运行测试类创建jav原创 2017-08-03 20:02:56 · 3602 阅读 · 0 评论 -
认识工作流框架
工作流框架是公司开发常用的技术:工作流概念工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照原创 2017-08-07 08:48:04 · 3910 阅读 · 0 评论 -
BAT某公司的一套面试题
单项选择题(共21题,限时40分钟):1. 以下函数的时间复杂度是void func( int x, int y, int z){ if (x<=0) printf(“%d,%d\n”,y,z); else{ func(x-1,y+1,z);func(x-1,y,z+1);}}A: O(x*y*z)B原创 2017-08-26 01:11:09 · 1367 阅读 · 0 评论 -
JDBC学习笔记
MySQL数据库安装配置网上下载MySQL绿色版本,文件是一个压缩包,解压后没有setup.exe执行层序,百度得到安装方法如下(windows系统) 在系统环境变量path变量追加mysql的bin目录 配置mysql下my-default.ini文件(‘#’是配置文件里的行注释,注意删去) basedir =G:\mysql-5.6.24-win32(你的mysql目录)原创 2016-12-11 21:37:48 · 389 阅读 · 0 评论