
Java相关
文章平均质量分 76
Java相关
代码与咖啡
这个作者很懒,什么都没留下…
展开
-
Java中将System.out.print输出到控制台的内容写入txt文件
在print前重定向输出流,重定向后,print输出的所有内容将会同时打印到控制台和写入到同目录下的output.txt文件中(这个txt目录可以自定义)。其中,要定义TeeOutputStream类,用于同时输出到两个流中(控制台和txt文本)。原创 2023-03-12 13:13:42 · 2441 阅读 · 0 评论 -
Java使用deeplearning4j实现MNIST手写数字识别
1、Maven添加deeplearning4j相关的jar包:2、构建LeNet-5神经网络训练模型,MNIST数据集在deeplearning4j包中能够直接加载,最终的训练结果存于model.zip中。前提:需要64位的JDK,32位的运行不了deeplearning4j。3、使用训练好的模型进行预测。先构建预测器,用于加载模型。然后写主函数,实现预测。原创 2023-03-23 14:40:26 · 1233 阅读 · 3 评论 -
用Maven将某个package打包成jar
用Maven直接打包会将整个工程打包成jar包,现有需求:无需将整个工程打包,只要将工程下的某个package打包成jar,可以使用Maven的。其中,my-project-jar-with-dependencies.jar是你的jar文件名。原创 2023-03-12 12:52:01 · 746 阅读 · 0 评论 -
TCP 协议如何保证可靠传输
TCP 协议如何保证可靠传输?滑动窗口、累计确认、流量控制、拥塞控制、ack和seq等标志位总结原创 2022-03-29 16:19:53 · 3297 阅读 · 0 评论 -
Token的生成、Token的作用及Base编码的注意事项
初次登陆,服务端按照指定字段生成Token(直接加密,或者用JWT标准加密都行),并返回,下次访问时请求中带上指定字段和Token,服务端将Token解密,如果解密结果与请求中携带的指定字段一致,则允许访问。Token由服务端返回,将Token存入Cookie或者Session中,并存入到返回的html中表单的hidden字段中,等提交表单时,服务端对比表单提交的请求参数中的token与cookie或session中存储的token是否一致。同理解密前,也要先用base解码,再解密。...原创 2022-08-29 21:48:11 · 878 阅读 · 0 评论 -
Redis分布式锁
(因为所有的lua脚本在Redis实例中共用同一个Lua解释器,某一个lua脚本在被执行的时候,其他lua脚本无法执行。,redis的主从复制是异步同步,master宕机后,可能未来得及同步到从机上,此时会出现问题。,如:setnx获取到锁后,服务器宕机,过期时间未设定,其他线程获取不到锁,进入死锁;构成,不存在主从复制,锁会放到每个master上,也会从每个master把锁释放。setnx用于获取锁,expire用于设置锁的过期时间,del释放锁。,也不具有原子性,也会出现上述不安全的情况。原创 2022-09-15 18:54:36 · 287 阅读 · 0 评论 -
JVM 对象分代、垃圾回收机制
JVM中对象分代:年轻代、老年代、持久代,垃圾回收算法,垃圾回收过程整理。原创 2022-04-03 11:48:35 · 1397 阅读 · 0 评论 -
Java中的锁(synchronized、Lock、ReadWriteLock)及常用线程安全类原理(CopyOnWriteArrayList、ConcurrentHashMap)
Synchronized本身已经做了优化,不再是始终是重量级锁,Synchronized是加在table中链表(红黑树)的单个结点上的,细粒度比Segment更细,冲突概率很小,Synchronized相比ReentrantLock,在使用偏向锁时甚至都不需要自旋。自旋锁:一直占用着CPU,在未获得锁的情况下,一直运行(自旋),性能高,但是废资源,适合等待时间短,并发量不高的情况;线程通过CAS获取并设置同步器状态,如果获取失败,会被丢进队列,在队列中自旋获取,直到获取到同步器状态后,退出队列。原创 2022-09-15 18:46:54 · 817 阅读 · 0 评论 -
Java在多线程下保证线程安全的方案(单例模式、双重锁、LocalThread、@Scope)
多请求并发访问该Controller时,Tomcat会为每个请求开一个线程,每个线程都会从容器中获取到一个新的Controller对象,获取新的Controller对象时,必然会初始化其成员变量,其成员变量Service由于是Singleton的,并不会在自动注入时新建一个Service对象,也就是说,,属性隔离需要额外的配置,并且即便是做好隔离配置后,如果对该属性使用不当,也会造成属性作用范围扩大(或失效),这种线程安全问题,需要开发人员在开发时就额外注意,这种情况很难测试,且发现问题也很难排查。原创 2022-08-22 21:45:10 · 1934 阅读 · 0 评论 -
Java中的volatile关键词(可见性、禁止指令重排、单例模式)
Java中的volatile关键词(可见性、禁止指令重排、单例模式)原创 2022-05-14 19:46:01 · 316 阅读 · 0 评论 -
Java 多线程 Runnable / 线程池 ThreadPoolExecutor 的应用——加速二维矩阵的计算
本文讲述了一个多线程在实际开发中的处理案例。现有一个 m*n 的矩阵数据待处理,每个矩阵元素都需要进行某种复杂的运算,串行遍历时间长,速度慢,考虑加入多线程加快运算速度。主要涉及Runnable实现类设计、同步锁设计、线程池设计、最佳线程数分析和awaitTermination源码分析等方面。原创 2022-03-08 14:16:32 · 1181 阅读 · 0 评论 -
Java 中关于 Hash 的整理:HashCode() 、HashMap、一致性 Hash(负载均衡)等
Java 中关于 Hash 的整理:HashCode() 、HashMap、一致性 Hash(负载均衡)等原创 2022-03-26 22:20:34 · 1836 阅读 · 0 评论 -
树型结构总结:二叉查找树、堆、平衡树、2-3查找树、红黑树、B树、B+树
树型结构总结:二叉查找树、堆、平衡树、2-3查找树、红黑树、B树、B+树面试题:1、TreeMap、TreeSet、HashMap底层实现中为什么使用红黑树?为什么不用二叉查找树?为什么不使用平衡树?2、文件系统为什么要用B树而不用二叉查找树或者哈希表?3、为什么B+树在数据库用的多(Mysql底层是B+树),不用B树或者哈希表?...原创 2022-03-28 22:12:57 · 2151 阅读 · 0 评论 -
Java中关于堆栈(Stack)、队列(Queue)和优先队列(PriorityQueue)的使用总结
本文总结了Java提供的堆栈(Stack)、队列(Queue)和优先队列(PriorityQueue)的使用。原创 2022-03-14 10:30:08 · 1191 阅读 · 0 评论 -
JAVA在IDEA中用JNA调用C++的dll动态链接库案例
JAVA在IDEA中用JNA调用C++的dll动态链接库案例,涉及dll与jdk位数匹配,及C++与JAVA JNA类型映射关系。原创 2022-03-07 15:38:56 · 4854 阅读 · 1 评论