基础
文章平均质量分 83
时代在找码
半生戎马,码上生涯。
知其然,知其所以然
展开
-
Maven依赖传递同一个Jar在不同module中版本不同
项目是一个spring cloud架构,其中有两个module,一个是common通过maven依赖了某个jar,另一个是业务module,业务module依赖common,原创 2022-10-13 10:41:24 · 1536 阅读 · 1 评论 -
接口与抽象类的关系,以及使用场景
抽象与接口的关系原创 2022-09-22 15:53:21 · 809 阅读 · 0 评论 -
02- 数据结构与算法 - 最长回文子串(动态规划/中心扩展算法/Manacher 算法)
数据结构与算法,本章主要通过对LeetCode中的最长回文串的切入,来学习中心扩展算法,与动态规划。原创 2022-08-28 17:23:30 · 263 阅读 · 0 评论 -
java中判断一个String字符串中包含某个字段
1.判断String字符串中包含某个字段① indexOf()方法 public static void main(String[] args){ String str = "3-1535674567345@rtfghdfhssfdh"; int flag = str.indexOf("@"); System.out.println(flag); }如果包含,输出这个字符串在数组中的索引(如果有重复的,则输出第一次出现的索引位置);否则输出-1。② contain原创 2020-09-22 15:31:23 · 7286 阅读 · 0 评论 -
Java中静态代码块、构造代码块、构造函数、普通代码块
目录1、静态代码块 ①、格式 ②、执行时机 ③、静态代码块的作用 ④、静态代码块不能存在任何方法体中 ⑤、静态代码块不能访问普通变量2、构造代码块 ①、格式 ②、执行时机 ③、构造代码块的作用3、构造函数4、普通代码块5、执行顺序6、父类和子类执行顺序在Java中,静态代码块、构造代码块、构造函数、普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序。1、静态代码块 ①、格式 在java类中(方法中不能存在静态代原创 2020-09-05 11:09:35 · 136 阅读 · 0 评论 -
在项目中巧用JdbcTemplate,提高开发效率与运行速度
目前基于框架的开发:大部分都是分层明确的,控制层(controller),逻辑层(Service),数据操作层(Mapper层)但是程序就相当于一个马拉松运动员,总路程越长,耗费的时间也就越长,所以,我们可以在一些代码复用率比较低的接口上(比如数据统计接口)就可以使用JdbcTemplate来减少代码路程.在JdbcTemplate中执行SQL语句的方法大致分为3类:execute:可以执行所有SQL语句,一般用于执行DDL语句。update:用于执行INSERT、UPDATE、DELETE.原创 2020-08-10 14:54:49 · 1596 阅读 · 0 评论 -
项目代码遇到的问题:@Transaction后项目没有起作用
一:使用@Transaction后项目没有起作用,原因可能有两个1:@Transaction 只能抛出,允许时异常2: 看有没有使用try catch,如果这个方法被try catch捕获了,那肯定异常无法抛出。原创 2020-06-01 11:33:11 · 198 阅读 · 0 评论 -
java中的IO流:
一:什么叫IO流以内存为基准:流向内存的流数据即为输入流,流出内存的即为输出流java使用Java.io包下的内容,进行输入,输出操作.输入也叫做读取数据,输出,也叫做写出数据.二:IO流的分类1:按数据的流向分为:输入流:input输出流:output2:按照数据类型分字节流 :以字节为单位,读写数据的流。字符流 :以字符为单位,读写数据的流。三:流对象的顶级父类输入流 输出流字节流 字节输入流InputStream 字节输出流Outpu原创 2020-05-30 16:52:08 · 103 阅读 · 0 评论 -
Stream流操作===“集合”===收集方法collect
一:java8中集合有两个方法来生成流1:stream() --为集合创建串行流2:parallelStream() − 为集合创建并行流。代码举例:List<String> strings = Arrays.asList("sks", "","bc", "eg", "acd","", "jk");List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(C原创 2020-05-29 14:04:19 · 1070 阅读 · 0 评论 -
lambda表达式代码示例:常见的函数式接口
JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在java.util.function包中被提供,下面是最简单的几个接口及使用示例。一:Supplier接口:java.util.function.Supplier接口,它意味着"供给" , 对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据。1>抽象方法 get...原创 2020-05-28 14:30:56 · 205 阅读 · 0 评论 -
线程基础概念筑基:
一:并行与并发:并发:在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。(可以理解为单个处理器同时处理多个任务)并行:在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。(可以理解为多个处理器同时处理多个任务)二:线程与进程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程原创 2020-05-26 15:23:51 · 131 阅读 · 0 评论 -
如何是实现对象之间的拷贝,复制========深拷贝,浅拷贝
一:概念浅拷贝:创建了一个对象,但是这个对象的某些内容(比如A)依然是被拷贝对象的,即通过这两个对象中任意一个修改A,两个对象的A都会受到影响深拷贝:相当于创建了一个新的对象,只是这个对象的所有内容,都和被拷贝的对象一模一样而已,但是两者是相互独立的,是不同的地址值,其修改是隔离的,相互之间没有影响二:理解深拷贝与浅拷贝浅拷贝:新的对象有一部分数据,不是隔离的,会被影响;代码举例:...原创 2020-05-26 13:36:39 · 1298 阅读 · 0 评论 -
怎么减少if()---else操作,优化代码
一:提前return,减少else如果 if-else 代码块包含 return 语句,可以考虑通过提前 return,把多余 else 干掉.代码举例子:更改之前:if (condition1) {if (condition2) {return getSomething();} else {return 0;}} else {return 0;}更改之后//这里最好对这个flag所判断的逻辑补充注释进行描述boolean flag = !condition1 || (con原创 2020-05-23 18:43:47 · 2125 阅读 · 5 评论 -
JAVA几个基本概念的区别(成员变量与局部变量,基本数据类型与引用数据类型,基本数据类型与包装类,拆箱与装箱)
局部变量和成员变量的区别1 类中位置不同(成员变量在类中方法外,局部变量在类中方法中)2 作用域不同(成员变量作用于整个类中,而局部变量只能作用于方法中)3 生命周期不同(.从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失)4 初始化值/默认值不同 (有无默认值) :成员变量如果没有被赋初值,则会自动以类型的默认值而赋值(一种情况例外被final修饰但没有被static修饰的成员变量必须显示地赋值);而局部变量则不会自动赋值。5 内存原创 2020-05-20 12:02:42 · 662 阅读 · 0 评论 -
JAVA中比较两个字符串是否相等的时候做了哪些操作?关于String的几个常见面试题
String(字符串)是我们常用的数据类型,我们都知道被String 修饰的equals会将应用的比较变成值的比较,那么String在做equals比较的时候底层是做了什么呢?//代码public class StringEqual { public static void main(String[] args) { String a ="大大大"; String b="大大大"; System.out.println(a.equals(b));原创 2020-05-19 18:15:29 · 391 阅读 · 0 评论