java
会飞的冰箱
做一个有故事的男人,,,
展开
-
IDEA在当前类中查找方法的快捷键
IDEA工具是当前类中查找方法的快捷键:Ctrl+f12Ctrl+f12之后会显示当前类所有的方法,直接输入要查找的方法名即可查找原创 2021-09-11 10:48:57 · 6784 阅读 · 0 评论 -
idea右边工具栏没有maven选项了
原创 2021-07-27 16:28:58 · 632 阅读 · 0 评论 -
stack.Peek 与 stack.pop 的区别
相同点:大家都返回栈顶的值。不同点:peek 不改变栈(不删除栈顶的值),pop会把栈顶的值删除。原创 2021-03-25 21:53:01 · 346 阅读 · 0 评论 -
IO演进之路
IO演进之路JAVA的IO演进阻塞(Block)和非阻塞(Non-Block)同步(Synchronization)和异步(Asynchronous)BIONIOAIO各 IO 模型对比与总结JAVA的IO演进jdk1.0到jdk1.3,只提供BIOjdk1.4新增java.nio包,提供了NIO开发的API和类库,主要类和接口:进行异步I/O操作的缓冲区ByteBuffer等进行异步I/O操作的管道Pipe进行各种I/O(异步或同步)的Channel,包括ServerSocketCh原创 2020-09-03 15:53:40 · 136 阅读 · 0 评论 -
IO模型之AIO
IO模型之AIOAIO简介异步IO模型JAVA AIO框架简析AIO重要类AIO的DemoAIO简介AIO是java中IO模型的一种,作为NIO的改进和增强随JDK1.7版本更新被集成在JDK的nio包中,因此AIO也被称作是NIO2.0。区别于传统的BIO(Blocking IO,同步阻塞式模型,JDK1.4之前就存在于JDK中,NIO于JDK1.4版本发布更新)的阻塞式读写,AIO提供了从建立连接到读、写的全异步操作。AIO可用于异步的文件读写和网络通信。异步IO模型异步IO则采用“订阅-通知原创 2020-09-03 15:52:48 · 511 阅读 · 0 评论 -
IO模型之NIO
NettyBIO 是什么?概念原理BIO 是什么?介绍BIO是为了突出NIO概念BIO ,全称 Block-IO ,是一种阻塞 + 同步的通信模式。是一个比较传统的通信方式,模式简单,使用方便。但并发处理能力低,通信耗时,依赖网速。客户端向服务器端发出请求后,客户端会一直等待(不会再做其他事情),直到服务器端返回结果或者网络出现问题。同理服务端也是这样的。原理采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建原创 2020-08-27 17:52:48 · 230 阅读 · 0 评论 -
IO模型之BIO
BIO前言概念通信模型(原理)BIO体系代码展示普通版伪异步优化版小结前言网络编程的基本模型是C/S模型,即两个进程间的通信。服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入和输出流进行同步阻塞式通信。概念BIO ,全称 Block-IO ,是一种阻塞 + 同步的通信原创 2020-08-27 10:06:06 · 246 阅读 · 0 评论 -
IDEA全局查找关键字的方法
使用IDEA时,可以双击Shift的方式进行关键字的查找,可以找到对应的类,这是个很好的功能。那如果查找这个项目中出现了的字符串,该怎么操作呢?快捷键Ctrl + Shift + F注意:快捷键可能会和其他软件冲突,导致不生效,可以尝试下面这种直接操作Edit -> Find -> Find in Path ->输入内容即可...原创 2020-07-28 23:34:28 · 48878 阅读 · 0 评论 -
IDEA控制台中文乱码解决方案
很多人idea控制台启动乱码,一般三种可能,大家可以试一下配置IDEA配置文件打开Idea的bin目录下,找到上图的两个文件,根据你的系统是32位或64位,在配置文件中添加: -Dfile.encoding=UTF-8配置项目编码及IDE编码进入settings,选择File Encodings,按照上图配置以下即可,当然有的小伙伴会把project Encodings也配成UTF-8,自己试验的时候,如果配成UTF-8变成了乱码。配置项目启动服务器参数在项目的环境变量里配置-Dfi原创 2020-07-17 16:55:07 · 210 阅读 · 0 评论 -
查看接口实现 的快捷键(idea、eclipse)
IDEA :CTRL + ALT +BEclipse : CTRL +TIDEA:Eclipse:原创 2020-07-09 18:38:45 · 410 阅读 · 1 评论 -
解决Required String parameter xxx is not present类型异常
异常报错最近对接了一个接口,form表单提交,报错:Required String parameter 'data' is not present解决方案查阅资料很多人遇到的问题是给Controller的@RequestParam获取form表单里具体的key-value时,默认不能为空,例如我配的是@RequestParam(value = “data”) ,则data的值是不能为空的。如果逻辑不能为null,则让请求方传值;如果逻辑允许为null,则 @RequestParam(valu原创 2020-07-01 14:40:45 · 29640 阅读 · 0 评论 -
Quartz学习笔记
本文简单讲解了Quartz的基本概念和相关APi,参考了官方的文档,然后加了一些自己的看法,如有错误请指正。后续会把集群的demo上传。目录1.Quartz2.Quartz API,Jobs和Triggers3.Job与JobDetail介绍4.Triggers介绍5.TriggerListeners、JobListeners、SchedulerListeners6.Job Stores7.配置SchedulerFactory8.其他配置1.QuartzQuartz是开源任务调度框架中的翘楚,它提供原创 2020-05-14 18:41:03 · 200 阅读 · 0 评论 -
java中三种分组统计方式
平时工作中,很多时候都会用到对数据进行分组操作,例如一个学生对象,有班级、名字、性别、分数等,需要按班级分组统计。合理的统计算法能提供效率。//下面是初始化的数据 List<Student> list = new ArrayList<Student>(); Student student1 = new Student("李四1", "女",...原创 2020-01-03 20:23:48 · 4793 阅读 · 0 评论 -
工作中使用连接池的HttpClient工具类
httpclient4.4简单初始化httpclient的方式:HttpClient httpClient = HttpClientBuilder.create().build(); ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient); ...原创 2020-01-03 15:18:03 · 1360 阅读 · 3 评论 -
优秀的基准测试工具--JMH
什么是JMHMH 是 Java Microbenchmark Harness 的缩写。中文意思大致是 “JAVA 微基准测试套件”。基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。为什么要用JMH在实际开发中,大多都是用main自己写一个demo进行测试,但是这种测试方式是不科学的,尤其是在对比方法的效率时会存在很大的误差,和...原创 2019-12-05 16:46:06 · 1510 阅读 · 0 评论 -
Idea中Module is not specified解决办法
原创 2019-12-05 14:39:49 · 490 阅读 · 0 评论 -
Zookeeper面试题
总结了网上的一些面试题Zookeeper 是什么ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队...原创 2019-11-26 20:39:22 · 570 阅读 · 0 评论 -
java初始化map的四种方式
第一种 最常见的方式(新建Map对象)public class Demo{ private static final Map<String, String> myMap = new HashMap<String, String>(); myMap.put("a", "b"); myMap.put("c", "d"); } ...原创 2019-11-19 18:01:18 · 109915 阅读 · 8 评论 -
ListObject强制转换为ListT
List强制转换为List 用Object,任何对象都能转换成Object,而Object又可以转换任何对象 例:一个List类型的对象listObject, Object ob = (Object) listObject; Lsit listUser = (Lsit)ob ;这样就OK了!...原创 2018-07-22 14:55:45 · 36056 阅读 · 9 评论 -
String或者Json怎么转换成List(代码案例)
最新做了一个项目,需要从前台传List的Json串,List转Json好转,但是Json或者String转List怎么转呢? 直接上代码:public static List&amp;lt;Object&amp;gt; getList4Json(String jsonString, Class&amp;lt;?&amp;gt; pojoClass) { List&amp;lt;Object&原创 2018-07-22 15:04:44 · 7945 阅读 · 0 评论 -
idea导入的项目不显示项目结构怎么办
idea导入的项目不显示项目结构idea导入的项目在左侧框不显示项目目录,只显示文件解决方法1.点击file——project structure——Modules点击右上角+加号选择import Modules2.选择本地的项目3.选择项目的构建类型4.一直点击继续,页面的左侧出现你的项目名称就代表成功了...原创 2019-03-20 10:15:48 · 9877 阅读 · 4 评论 -
log.error(e.getMessage) 、log.error(+e)和log.error(,e)的区别
打印日志注意事项:1.log.error(“异常信息:”+e.getMessage);2.log.error(“异常信息:”+e);3.log.error(“异常信息:”,e);打印效果:1.异常信息:null / 异常信息:For input string: “4273010258”2.异常信息:java.lang.NullPointerException:null /异常信息...原创 2019-03-13 18:07:14 · 22382 阅读 · 3 评论 -
实验证明:HashMap设置初始大小,真的能提高效率吗
在《阿里巴巴Java开发手册v1.3.0》一、编程规约 – (五)集合处理 – 第九条的规范里,集合初始化时,指定集合初始值大小。因为HashMap在自动扩容时会消耗时间,网上也大多也都同意,也相应的做了很多demo证明这个理论。但是最近做了相关的demo,发现集合初始化大小,并不能提升效率,以下会贴出我的demo和我的疑问,欢迎大家来指正。测试工具Eclipse、jdk8public stat...原创 2019-07-02 16:50:33 · 9974 阅读 · 11 评论 -
svn提交时提示 Aborting commit: remains in conflict 解决办法
svn提交时提示 Aborting commit: remains in conflict 解决办法今天在本地删除了个文件,后来又把文件找回,提交到svn就报错了。 解决方案: 选中文件–》右键svn–》选择resolve 重新提交就OK了。记得把修改的文件备份。最后感谢接近万能的CSDN。...原创 2018-07-20 10:09:46 · 11061 阅读 · 0 评论