JAVA
文章平均质量分 56
JAVA基础知识、JAVA框架
海梦在飘扬
HaiMeng
展开
-
JDK动态代理和CGLIB动态代理的区别
需要注意的是,Spring AOP默认会根据目标对象是否实现了接口来选择使用JDK动态代理还是CGLIB代理。如果目标对象实现了接口,Spring AOP会优先使用JDK动态代理;如果目标对象没有实现接口,Spring AOP会使用CGLIB代理。当然,你也可以通过配置来强制Spring AOP使用特定的代理方式。日志记录、性能监控、事务管理、安全检查等。通过AOP,我们可以将这些横切关注点与业务逻辑分离,提高代码的可维护性和可重用性。原创 2024-02-26 23:06:20 · 416 阅读 · 0 评论 -
Map集合的遍历方式
【代码】Map集合的遍历方式。原创 2024-02-26 22:58:39 · 209 阅读 · 0 评论 -
使用java将a.txt和b.txt中的内容进行替换
【代码】使用java将a.txt和b.txt中的内容进行替换。原创 2023-12-22 10:56:17 · 49 阅读 · 0 评论 -
Java连接数据库并查询表中的全部数据
这里创建简单的maven项目,我们导入相关的jar包原创 2023-11-07 23:02:03 · 912 阅读 · 1 评论 -
日志技术快速入门
日志技术是一种用于记录系统或应用程序活动的技术。这些日志可以用于监视系统的运行状态、诊断问题、审计安全事件等。原创 2023-10-17 15:50:56 · 80 阅读 · 0 评论 -
通过反射和自定义注解模仿Junit测试框架
当添加了@MyTest注解,方法就执行,如果没添加@MyTest注解就不执行,模仿了Junit框架技术。原创 2023-10-16 19:39:13 · 58 阅读 · 0 评论 -
Java通过多线程实现群聊功能
线程和线程运行是不会相互有影响的,也就是说,当客户端和服务端建立连接后,数据操作部分就可以正常运行,而又不影响接下来其他的客户端来和服务端建立连接。同理,因为客户端中的主线程是一直运行着的,所以就会一直收到其他客户端传递过来的消息,也就是说,我们读取其他客户端传递过来的消息也需要一直运行。因此这里也创建了一个客户端线程来实现。然后当时我在想,为什么不把读取其他客户端传递消息的过程放在客户端的主线程里面,因为主线程也是一直运行着的,也可以一直读取其他客户端传递过来的消息。为什么要分别再创建一个。原创 2023-10-15 21:35:59 · 811 阅读 · 0 评论 -
Java多线程悲观锁和乐观锁
一上来就加锁,没有安全感,每次只能一个线程进入访问完毕后,再解锁。线程安全,性能较差一开始不上锁,认为是没有问题的,大家一起跑,等要出现线程安全问题的时候才开始控制。线程安全,性能较好接下来我们通过案例,来分别实现三种情况:1、不加锁的情况,2、加悲观锁 3、加乐观锁。我们创建两个类来进行案例的演示,分别是和。原创 2023-10-15 12:31:12 · 209 阅读 · 0 评论 -
Java多线程间的通信:生产者消费者问题
【代码】Java多线程间的通信:生产者消费者问题。原创 2023-10-14 15:13:43 · 182 阅读 · 0 评论 -
Java线程安全问题
注意事项:如果在lk.lock()和lk.unlock()中间出现bug,那么就会解锁失败,因此我们应该把中间的代码放在try-catch-finally中。上面的锁中,我们随意使用了一个 "海梦"来完成,这样会产生一些问题,因为它可锁住任何线程进行访问。加锁快捷键:选中取钱部分代码----》Ctrl+Alt+T选择synchronized。我们需要把 “海梦” 改为 this,这样就没有问题了。然后在特定的位置(共享资源位置)加锁。在Account类中创建一个锁对象。原创 2023-10-14 14:34:40 · 102 阅读 · 0 评论 -
Git命令大全
点击进入Git下载地址原创 2023-10-13 20:05:12 · 427 阅读 · 0 评论 -
Java实现文件搜索并直接启动
【代码】Java实现文件搜索并直接启动。原创 2023-10-09 23:16:50 · 65 阅读 · 0 评论 -
递归案例《啤酒问题》
【代码】递归案例《啤酒问题》原创 2023-10-09 10:18:57 · 193 阅读 · 0 评论 -
Java中的递归方法及运用
递归是一种编程技巧,指的是在程序中调用自身的过程。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。在具体实现中,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。原创 2023-10-08 22:25:00 · 285 阅读 · 0 评论 -
Set集合底层原理
在学习Set集合之前我们应该学习Collection接口中的常用方法。因为Set集合是Collection的子接口。也就是说当我们使用Set集合时,我们不仅可以使用Collection接口提供的所有操作,还可以使用Set接口提供的特殊操作。关于Collection提供的方法,在之前的List集合中我们已经说过了,这里不再说。原创 2023-10-08 20:24:51 · 496 阅读 · 0 评论 -
List集合底层原理
例如,通过 get(int index) 方法可以获取指定索引位置的元素,通过 add(E e) 方法可以在末尾添加元素,通过 remove(int index) 方法可以删除指定索引位置的元素,通过 set(int index, E element) 方法可以修改指定索引位置的元素。频繁的插入和删除操作:由于在插入和删除元素时,LinkedList 不需要进行数组的扩容和元素的复制操作,只需要修改节点指针即可,因此在频繁进行插入和删除操作时,LinkedList 的性能优势更明显。原创 2023-09-25 11:40:50 · 149 阅读 · 0 评论 -
Java集合
实现了Set接口和java.util.SortedSet接口,在遍历时按照自然顺序递增排序,也可以按照指定比较器递增排序,即通过比较器对用TreeSet类实现的Set集合中的对象进行排序。不仅实现了Map接口还实现了java.util.SortedMap接口,映射有一定的顺序,在添加、定位、删除性能比HashMap差,不允许键对象是null。没有继承Collection接口,其提供的是key到value的映射,要掌握lMap接口的常方法和一些特殊方法。各元素的顺序是对象插入的顺序,原创 2023-03-15 18:06:56 · 53 阅读 · 0 评论 -
JDK下载安装与环境变量的配置(有图详解)
输入java -version并回车查看JDK版本(中间有空格,不要漏掉)出现这种情况已经可以说是安装成功了 我们还可以进行最后一步进行验证。输入命令符javac并回车 出现这个页面就是安装成功了。有什么问题欢迎大家在下面评论,共同进步,共同提高!我这里选择的是JDK17 windows X64。安装过程没有什么说的,一直下一步就可以了。win+r输入cmd进入命令窗口。下载过程中可以选择安装路径。根据你的电脑系统选择下载。选择相应的版本进行下载。原创 2023-03-05 21:47:48 · 434 阅读 · 3 评论