- 博客(12)
- 收藏
- 关注
原创 java程序中CLI调用小结
运行的命令行参数需要一个一个的添加到list集合中,否则会报error=2, No such file or directory。
2024-01-26 19:57:02 189 1
原创 Java ConcurrentModificationException一问多解,靠这征服面试官?
阿du曾经在面试的时候,遇到面试官问这样的问题,平时学习工作中都遇到过哪些Java异常信息,这时候我们不要只是说一些空指针、数组下标越界、类型转换等这些太常见的异常信息,如果能提到题目中ConcurrentModificationException并发修改异常,说不定能让面试官眼前一亮,哇 这小伙看来有多线程高并发方面的经验。下面说不定就会与你就并发修改异常详细唠唠,下面阿du将带大家看看如何一步步征服面试官。首先并发修改异常情景再现: List<Integer>...
2022-01-28 21:21:11 668
原创 啥?滑动窗口算法秒解题
今日一题,阿du带大家体验下滑动窗口算法思想的运用,上例题:力扣(LeetCode)无重复字符的最长子串:给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例:输入s = "abcabcaa" ,因为不重复字符的最长子串为“abc”,所以结果为3。初看到这道题阿du急急忙忙就开始下手写,双层for循环直接实现,但真实运行起来,时间复杂度为O()比较耗时,最重要的也满足不了面试官的要求啊public int lengthOfLongestSubstring(String s) {
2022-01-17 09:00:00 388 2
原创 跟着数学系阿du刷算法 来了解下?
金三银四就要到了,阿du提前带大家一起练练手!力扣(LeetCode )第二题 (两数相加):给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。单链表的定义如下:public class ListNode { int val; ListNode next; ListNode() {}
2022-01-16 08:15:00 188 2
原创 跟着数学系阿du开启算法刷题之旅 不来了解下?
金三银四就要到了,阿du提前带大家一起练练手,开启算法之旅!力扣(LeetCode )首题(两数之和):给定一个整数数组 nums 和一个整数目标值 target,请在该数组中找出和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。看到这道题,阿du直呼简单简单,上手就来,暴力破解,双层for循环解决如下:public int[] twoSum(int[] nums, int target) {
2022-01-15 10:53:18 175 2
原创 分布式微服务架构打怪升级之服务注册与发现Eureka
伙伴们,从本期我们开始进行SpringCloud系列组件的打怪升级之路。众所周知,SpringCloud是微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体(包括服务注册与发现、服务调用、服务降级、服务熔断、服务消息队列、服务网关、配置中心管理等等)。今天我们就从老大哥服务注册与发现Eureka来说起。 接触了才发现很多技术理论其实来源于生活实践,不知小伙伴们有没有这样的感触,比如我们今天要说的服务注册与发现Eureka,何为注册与发现拿生活中的例子来说,年轻的你大学...
2022-01-13 20:53:36 227 2
原创 java多线程实现方式(四)
hello,伙伴们,我们继续java多线程实现方式的学习,本节中我们通过线程池来实现多线程。那为什么使用线程池呢?使用线程池的好处是减少在创建和销毁线程上所花的时间以及系统资源的开销,解决资源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或者 “过度切换”的问题。在阿里开发手册中明确线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样 的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。那么我们接下来创...
2022-01-08 18:58:54 782 2
原创 Spring AOP操作审计功能实现
hello,伙伴们,今天我们一起聊聊操作审计的功能实现,正常来说我们每个系统都会对用户的增删改操作做一些日志记录,防止后续一些操作的追溯或管理员对系统操作信息的管理等。那么今天我们就通过Spring的AOP特性来具体实现。首先是要记录日志的实体类信息,如下:public class Record { /** * 操作人 */ private String auditName; /** * 操作时间 */ priv...
2021-12-27 20:40:51 1196 2
原创 java多线程实现方式(三)
伙伴们,又见面了,我们接着聊java多线程实现方式,上篇我们说了可以通过实现Runnable接口来实现多线程,但是会发现实现Runnable接口的方式执行之后没有返回值,如果我们想获取执行之后的返回值呢,那么我们可以通过今天介绍的实现Callable接口的方法:...
2021-12-23 20:57:16 207
原创 java多线程实现方式(二)
伙伴们,接着上篇我们继续聊聊java多线程的实现方式,上篇我们是通过继承Thread类重写run方法实现的,并且知道线程是可以设置优先级的,优先级越高获取CPU时间片的概率就越高。除了继承Thread类,那我们是否还有其他方式呢,因为我们知道java中只支持单继承,某些情况可能存在局限性,今天我们通过实现Runnable接口来实现多线程,看栗子:public class RunnableTest implements Runnable{ @Override public ...
2021-12-21 20:38:57 399
原创 java多线程实现方式(一)
hello,朋友们,咱们又见面了,从今天起咱们一起来聊聊多线程,java多线程可以说在项目中使用颇多,那么多线程实现方式有哪几种呢 一起来系列探讨下:1.首先就是extends Thread类重写run方法,光说不练假把式 一起来看例子://继承Thread类public class ThreadTest extends Thread{ //重写run方法 @Override public void run(){ System.out.println("线程
2021-12-20 20:41:23 296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人