- 博客(15)
- 收藏
- 关注
原创 CentOS7安装Jenkins的坑,记录一下
指定maven本地仓库位置后,要开放权限chmod 777 /opt/repo使用maven打包,pom需要指定plugin的JDK版本,不一致的话会出现:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project springbootdemo: Fatal error compiling: 无效的标记: -parameters ->
2022-03-10 23:18:16
608
原创 Mybatis学习记录
非资源目录下的mapper文件,需要在maven下写明通过session工厂获得session,在session中通过反射获得Dao接口的mapper,从而在mapper中执行相关的SQL方法原生mybatis使用流程实体类中的属性名和mapper中的参数名必须一一对应增删改,需要提交事务(自动提交关闭)使用map,多参数使用map,单基本类型的参数,可以直接得到写死参数,防止sql注入配置文件环境更改mybatis配置文件中引入外部配置文件给返回值为实体类型起别名
2021-08-13 13:44:49
104
原创 java面试---IOC
1.IOC是一个容器:本质上是一个map,用来存放各种对象(扫描xml配置或注释)2.通过DI(依赖注入),将容器中的对象注入到对应位置3.控制反转:若A依赖B,则A和B都放入IOC容器,由IOC主动识别依赖,将B提供注入给A...
2021-07-29 13:36:53
117
原创 java面试---并发的三大特性
原子性:保证一系列操作的不可分割,也即保证了一些操作只能被同一个线程执行完后,才能被其他线程执行。public int count=0;public void Incr(){ count++;}例如自增操作,只有一行代码,却有以下几步:1.把变量i复制到各自线程的工作内存中2.将count+13.赋值给count,写入工作内存4.工作内存的值,刷新到主存(哪一个线程先执行这一步,由CPU决定)从而在多线程调用以上方法时,存在不确定性,就出现的线程安全问题。可见性:当多线程访问一个公共
2021-07-28 11:51:48
158
原创 java面试---字节码
字节码是面向JVM(Java虚拟机),即只有JVM能看懂的编码。编译器生成.class字节码文件,由JVM识别,解释器将字节码文件解释成对应操作系统(win、linux)识别的机器语言。java是编译与解释并存的语言。...
2021-07-25 19:21:34
81
原创 java面试---hashcode与equals
equals()方法比较简单,是用来比较两个对象之间是否相等。若不重新定义,其对比方式使用的是object类中的比较方法,利用两个对象是否"==",来判断。对于特殊对象,用户也可以重写此方法,定义自己的比较规则。hashcode被叫做哈希码,也叫做散列码。hashcode()方法是定义在objcet类中的一个本地方法,作用是获取对象的哈希码。由于所有的对象都创建在内存的堆中,而堆的底层其实是维护了一张哈希表,每一个对象都有一个哈希码作为索引,使用该索引,就能够很快的找到该对象。说人话就是,equals是
2021-07-24 12:55:15
93
原创 java面试---接口与抽象类的区别
区别:1.抽象类本质上是一个类,可以被其他类继承,但只能被继承一个;而接口属于interface类型,一个类可以去实现多个interface。2.抽象类中可以定义各种类型的属性方法,而接口中的成员变量只能是public static final的(省略不写),且只能是方法。public abstract class abtest { private static String str; public void test(){ System.out.println("
2021-07-23 16:48:46
86
原创 java面试---string、stringbuilder、stringbuffer的使用与区别
String类,内部实现使用到final关键字,所以每次修改或者赋值String类型变量时,其都会分配新的地址。 public static void main(String[] args) { String str = "hello"; System.out.println(str.hashCode()); str +="world"; System.out.println(str.hashCode()); Stri
2021-07-23 16:24:48
73
原创 java面试---final关键字
final关键字可以修饰类、变量、方法修饰类:此类不可被继承修饰方法:方法不可被重写,但可以被重载修饰变量:一旦赋值,就不可更改。若修饰静态变量,无论是否使用,都需要先赋值。因为在类加载阶段中的初始化阶段(还为到runtime运行阶段时),静态变量就会从上到下的,按顺序的进行初始化,若不进行赋值,则不能通过类加载阶段。以下方式√或是直接给count赋值都可static final int count;static{ count=0;}对于final的局部变量,并非要在创建的时候赋值
2021-07-22 17:54:57
95
原创 Java面试---“==“与equals的比较
首先,明确比较对象,包括了:八个基本类型:int、short、long、float、double、boolean、char、byte引用类型:以上类型的包装类、String类、对象等"=="对比的是内存中,栈内存的值是否相同。因为在栈内存中,保存了基本类型的值,以及引用类型的引用(即地址),从而,"=="在基本类型中,比较的是值是否相等;在引用类型中,比较的是二者是否是同一个引用。不管引用、还是基本类型,它们都继承了object类,在objcet类中,就存在equals()方法,这个方法内部就由"
2021-07-22 16:54:47
72
原创 面向对象的一点感悟
我的理解,面向对象首先是一种思想,其次是一种行为,或者一种编程范式。与面向对象相对的编程思想还有面向过程,面向过程注重解决的问题本身。拿煮饭为例,面向过程的做法是,将煮饭这件事分解为:取米、淘米、打开电饭煲、放米、添水、设置煮饭时间… 而面向对象的做法,会首先抽象出这件事情中的参与者,也即对象。参与煮饭的对象有做饭人与电饭煲,当然还有米,但是米的职能除了被煮熟,也没别的了,所以忽略。那么做饭人的职责,在当下(在自动淘米的电饭煲还没有被发明出来之前),至少是:取米,淘米,放米入锅,设置时长(后两步都需要电饭
2021-07-22 13:27:24
249
原创 【JAVA基础小记】——IO流总结
前言由于File类只能操作文件对象本身。所以对于文件的读写操作,我们最长使用的是IO流。那么IO流按照传从方向分为:输出流,以及输入流:**输出流:**将内存中的数据输出到磁盘或是网络中去**输入流:**将磁盘中的数据输入至内存中最常用的IO流分类如下,下面是对应的实现类:字节输入流 字节输出流 字符输入流 字符输出流InputStream OutputStream Reader Writer —
2020-08-21 20:04:22
222
原创 LeetCode刷题日记[简]整数反转
题目我的思路:1.首先入参不管是否是在整型范围内的Int类型,一律转换成double类型的正整数处理。2.若此数结尾有0,则抹掉。3.不断取余,余数不断作为数字的高位,余数使用后在原数中减去,再除10,不断降低数字的规模。4.还原正负号,且判断该double整数是否在Int范围,若在,则强转成Int,输出;若不在,则输出0。总结:因为最后要判断该数字是否超出了Int类型的范围,所以最开始的finalnumber就不能定义为Int类型,因为例如入参x=1534236469(一个不超过Int但是
2020-08-11 01:30:03
90
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人