Java
文章平均质量分 53
躺着听Jay
业精于勤,荒于嬉
展开
-
Java随记
Java开发常用基础技术点使用场景和使用方式。原创 2023-12-07 11:43:39 · 1013 阅读 · 1 评论 -
Lombok注解式简化开发
Lombok(发音为"lombók")是一种Java库,它通过注解的方式来简化Java代码的编写。它提供了一组注解,用于在编译时生成代码,减少了开发人员需要手动编写的样板代码,提高了代码的简洁性和可读性。Lombok 主要用于减少Java代码中的冗余,例如,通过添加@Getter和@Setter注解,可以自动生成类的 getter 和 setter 方法,而无需手动编写这些方法。除此之外,Lombok 还提供了其他注解,如@ToString等,用于生成相应的代码。原创 2023-11-21 10:16:54 · 56 阅读 · 0 评论 -
根据表名动态获取数据
上面那个是定死的下载哪个实体对应的数据,而我们现在要求动态,动态获取数据list已经搞定了,但是数据List<Map<String, Object>>要转为阿里api可以识别的(问题一),以及根据表名获取.class运行时类(问题二)。使用到阿里的easy-excel。原创 2023-11-20 17:06:25 · 147 阅读 · 0 评论 -
多线程并行下载文件到浏览器
每个线程不能共用一个输入流,目前试过是不好控制,会导致下载的数据漏掉一部分。我的做法是在每个线程里面都创建要下载的文件输入流,每个线程的输入流是一样的。现在想要通过多线程并行下载看能不能提升,将文件拆分,每个线程负责下载一部分文件到输出流。前面记录到从FTP服务器下载到浏览器,使用缓冲流也没有提升速度。原创 2023-11-17 14:25:32 · 96 阅读 · 0 评论 -
从FTP服务器下载文件
使用缓冲流好像对于读和写都没有很大的提升,不知道原因在哪里,有知道的朋友评论区一起讨论。原创 2023-11-16 16:43:41 · 117 阅读 · 0 评论 -
SpringSecurity+JWT+Redis进行用户鉴权和接口权限的控制
SpringSecurity框架就会对账号密码进行一系列的过滤器进行验证和授权等,其中最重要的两个过滤器就是UsernamePasswordAuthenticationFilter负责登录验证,FilterSecurityInterceptor负责权限授权。原创 2023-02-27 22:14:21 · 927 阅读 · 0 评论 -
Java的双亲委派机制
Java的双亲委派机制是java中类加载过程采用的机制,所以首先要理解java的类加载过程。类加载过程:程序经过javac.exe命令以后,会生成一个或多个class字节码文件,接着使用java.exe命令对某个class字节码进行解释运行时,相当于将这个class字节码加载到内存中,此过程就是类加载过程。那么以上所说的类加载过程,就需要类加载器来完成啦。原创 2022-10-17 21:24:47 · 1978 阅读 · 0 评论 -
HashMap的put之1.8源码分析【细心总结】
这里也说明了一个情况,因为equal和hashCode方法具有联动性,equal和hashCode方法要同时重写,同时重写的规则要满足equal为true,哈希值一定也要相同;都没有相等的,说明key不存在,如果是红黑树则添加到红黑树中;如果key不存在,则在链表末尾添加元素(尾插法),每添加完都要判断当前位置上的元素个数是否大于8?②有数据,这个位置上如果用红黑树存储则按红黑树规则添加元素;比较都是先比较哈希值是否相同,相同才调equal比较key是否相同。①没有数据,则插入到这个位置上 --情况1。原创 2022-10-10 13:30:36 · 369 阅读 · 0 评论 -
HashMap添加元素用到hashCode
在集合中这个hashCode()方法的用处就很大了,比如HashMap的添加元素的原理,HashMap不能存储key一样的元素,key一样则替换成后者来的value,HashMap底层采用数组+链表+红黑树的数据结构存储数据,当数组上某一个索引的位置上以链表形式存在的数据个数超过8个,且数组长度超过64,则这个索引位置上的数据改用红黑树存储。倘若已经添加了100个元素,要添加101个元素时,则要与前100个元素遍历比较key是否相等,那太麻烦了。都没有相等的,则元素添加成功--成功2。原创 2022-09-27 11:21:19 · 561 阅读 · 0 评论 -
Java创建多线程的四种方式
【代码】Java创建多线程的四种方式。原创 2022-09-20 22:23:44 · 1036 阅读 · 0 评论 -
解决线程安全问题的方式三:Lock锁,以及为啥要放在try--finally结构中
今天学习了解决线程安全问题的方式三:Lock锁,我自己有以下几个疑问:为啥锁和解锁操作要放在try--finally结构中? 为啥锁操作lock()不能放在thy内部?这是正常步骤// 1.创建锁对象 private ReentrantLock lock = new ReentrantLock();// 2.在同步代码块前调用锁定方法lock(),获得锁 lock.lock();try{ // 同步代码块}finally{ //原创 2021-08-14 11:24:19 · 2930 阅读 · 9 评论 -
Java给指定时间加上任意的时间
Java给指定时间加上任意的时间原创 2022-08-09 16:12:00 · 2387 阅读 · 0 评论 -
eclipse导入项目后不能选择
相信很多小伙伴在用eclipse导入项目时有时候会遇到这个问题,从 Some projects cannot be imported because they already exist in the workspace. 可以看出这是因为当前工作空间中存在同名的项目。搞清楚问题后,经过查阅资料得知,这是就科普一下知识点了要将你要导入项目中的.project文件用记事本打开,然后将name属性改成你要导入的项目名后就可以导入了。具体怎么导入项目的步骤我就不介绍了,因为这个文章一抓原创 2021-12-08 10:20:31 · 6178 阅读 · 2 评论 -
IDEA中实现在单元测试方法中用控制台输入数据
我们有时候想在单元测试中使用:Scanner scanner = new Scanner(System.in);但运行起来发现程序一直卡在这行代码上,一直转,如下图情况这时我们只需要在idea中做如下的操作后,就可以实现在单元测试中实现控制台的输入在idea64.exe.vmoptions文件的末尾加入以下内容:-Deditable.java.test.console=true最后记得重启idea,之后就可以使用了...原创 2021-10-16 10:15:49 · 3531 阅读 · 1 评论 -
我的Java学习路线[持续更新中]
Java学习路线原创 2022-01-17 09:49:52 · 101 阅读 · 0 评论