![](https://img-blog.csdnimg.cn/d225b39e739945f68cfcf03da8480378.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA进阶
文章平均质量分 90
JAVA进阶部分
Killing Vibe
阿里云星级博主,华为云云享专家,ICIAP国际会议EI索引收录一作,中国大学生计算机设计大赛国家级二等奖,研究生电子设计竞赛省级一等奖,大学生科技创新与职业技能竞赛省级二等奖,北大核心某期刊一作
展开
-
@PathVariable注解的用法和作用(Demo详解)
PathVariable 映射 URL 绑定的占位符通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx”) 绑定到操作方法的入参中。一般与@RequestMapping(method = RequestMethod.GET)一起使用。转载 2023-02-12 16:59:00 · 2858 阅读 · 2 评论 -
@ControllerAdvice 的介绍及三种用法(转载)
然后,我们来看一下此类的注释:这个类是为那些声明了(@ExceptionHandler、@InitBinder 或 @ModelAttribute注解修饰的)方法的类而提供的专业化的@Component , 以供多个 Controller类所共享。说白了,就是aop思想的一种实现,你告诉我需要拦截规则,我帮你把他们拦下来,具体你想做更细致的拦截筛选和拦截之后的处理,你自己通过@ExceptionHandler、@InitBinder 或 @ModelAttribute这三个注解以及被其注解的方法来自定义。初转载 2023-02-05 17:48:17 · 12373 阅读 · 1 评论 -
@Param注解的注意事项(转载)
首先明确这个注解是为SQL语句中而服务的。@Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param(“userId”) int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值。转载 2023-02-02 10:40:00 · 488 阅读 · 0 评论 -
Socket套接字(网络编程万字总结-附代码)
开发与算法学习社区Killing Vibe的博客欢迎大家加入,一起交流学习~~如果一个进程A已经绑定了一个端口,再启动一个进程B绑定该端口,就会报错,这种情况也叫端口被占用。对于java进程来说,端口被占用的常见报错信息如下:此时需要检查进程B绑定的是哪个端口,再查看该端口被哪个进程占用。以下为通过端口号查进程的方式:在cmd输入 netstat -ano | findstr 端口号 ,则可以显示对应进程的pid。如以下命令显示了8888进程的pid在任务管理器中,通过pid查找进程。原创 2022-12-29 04:30:00 · 3811 阅读 · 62 评论 -
JUC包(java.util.concurrent)下的常用子类
JUC包下的常用类,包括Lock接口,原子类以及常用的四个工具类原创 2022-11-27 05:00:00 · 5189 阅读 · 91 评论 -
JavaFX之Scene Builder的使用(开发一款GUI小工具原来这么简单)
首先声明一下,Java的强项并不在GUI上,现在是web的天下,博主发此篇文章仅是个人兴趣,如果您是学Java开发的,业余想做GUI小工具,可以选择使用JavaFX。如果需要开发企业级应用,推荐还是用qt或者wpf那些,用Electron也是很好的选择。下面随意做个栗子:1.随便拉一个button控件到白色区域2.然后可以在右边的properties属性栏更改这个按钮的样式,外观等等,例如我这里随便改了个hehe。原创 2022-11-18 16:21:36 · 18159 阅读 · 127 评论 -
多线程CAS机制(图解)
这篇总结一下CAS机制引起的ABA问题,以及解决方式。有两个线程t1和t2,同时修改共享变量num,初始num == A正常情况下,只有一个线程会将num 改为正确值,另一个线程在修改时num!= A,另一个线程的工作内存的值已经过期了,因此无法修改。原创 2022-11-10 16:02:59 · 1024 阅读 · 8 评论 -
多线程常见锁的策略
所谓锁的策略就是指如何实现锁。Java、MySQL、Go、C++等等都有类似的锁策略。每次读写数据都认为不会发生冲突,线程不会阻塞,一般来说,只有在进行数据更新时才会检查是否发生冲突,若没有冲突,直接更新,只有冲突(多个线程都在更新数据)了才解决冲突问题。当线程冲突不严重的时候,可以采用乐观锁策略来避免多次的加锁解锁操作。每次去读写数据都会冲突,每次在进行数据读写时都会上锁(互斥),保证同一时间段只有一个线程在读写数据。原创 2022-11-09 06:00:00 · 2422 阅读 · 83 评论 -
Java实现单例模式(懒汉式和饿汉式)
Java实现单例模式(懒汉式和饿汉式)的注意事项和细节原创 2022-11-06 06:00:00 · 4271 阅读 · 33 评论 -
JDK中线程池的使用
线程池的工作流程以及使用原创 2022-11-02 07:00:00 · 1408 阅读 · 41 评论 -
Java多线程wait()和notify()方法图解
多线程场景下 wait 和notify 方法详解,注意事项,内部阻塞队列和等待队列的过程,wait和sleep方法的区别原创 2022-10-31 05:00:00 · 3574 阅读 · 94 评论 -
Java反射机制(简单易懂)
1.反射的意义2. 反射重要的几个类: Class类 、Field类、 Method类、 Constructor类3. 学会合理利用反射,一定要在安全环境下使用。原创 2022-10-30 04:30:00 · 2158 阅读 · 40 评论 -
HashMap和Hashtable的联系与区别
Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,**但是现在Hashtable基本上已经被弃用了**。而HashMap已经成为应用最为广泛的一种数据类型了。原创 2022-10-18 07:00:00 · 1630 阅读 · 26 评论 -
Comparable接口和Comparator接口
博主在很早之前写过一篇面向对象编程的文章,其中粗略的介绍了一下Comparable接口的使用,现在问题来了,Comparabe接口和Comparator接口的异同点是什么呢?Comparable接口可以让当前这个类拥有可以比较的能力,就可以和类型的对象进行比较Comparator接口可以让我们定义不同的类,然后我们可以用这些自己定义好的排序类去对list中的对象按照某种规则去排序,不想用的时候可以换另一种排序类。(比如升序和降序)原创 2022-09-30 05:37:57 · 1029 阅读 · 28 评论 -
泛型-详解
class 泛型类名称 < 类型形参列表 > {// 这里可以使用类型参数 } class ClassName < T1 , T2 , . . . , Tn > {} class 泛型类名称 < 类型形参列表 > extends 继承类 /* 这里可以使用类型参数 */ {// 这里可以使用类型参数 } class ClassName < T1 , T2 , . . . , Tn > extends ParentClass < T1 > {// 可以只使用部分类型参数 }原创 2022-09-05 21:34:56 · 675 阅读 · 45 评论 -
String.split()最详细源码解读及注意事项
String类中split方法的详细解读以及注意事项原创 2022-07-23 15:20:18 · 19135 阅读 · 53 评论 -
《JAVA EE》内部类(下篇)&Lambda表达式的注意事项
接下来将详细介绍匿名内部类以及Lambda表达式的用法和注意事项。Lambda表达式的优点很明显,在代码层次上来说,使代码变得非常的简洁。缺点也很明显,代码不易读。优点代码简洁,开发迅速方便函数式编程非常容易进行并行计算Java引入Lambda,改善了集合操作缺点代码可读性变差在非并行计算中,很多计算未必有传统的for性能要高不容易进行调试!!.........原创 2022-07-21 16:52:35 · 1642 阅读 · 52 评论 -
《JAVA EE》内部类(上篇)注意事项
内部类的设计也是一种封装的思想,封装体现的就是保护性和易用性。内部类可分为四大类成员内部类静态内部类方法内部类匿名内部类内部类和外部类可以方便地访问彼此的私有域(属性和方法)内部类使用private关键字修饰可以对外部类的外部完全隐藏(内部类就当作外部类的属性看待)内部类可以变相多继承本章主要讲了成员内部类、静态内部类以及方法内部类的注意事项和语法点。至于匿名内部类以及Lambda表达式,博主将放在下篇总结,有帮助的话希望老铁们多多支持!😁😁😁............原创 2022-07-20 18:21:18 · 550 阅读 · 11 评论