- 博客(24)
- 问答 (1)
- 收藏
- 关注
原创 Java的maven工程获取resources下的文件路径
ClassLoader classLoader = this.class.getClassLoader();URL resource = classLoader.getResource("jdbc.properties");String path = resource.getPath();
2022-05-18 16:29:54 10900
原创 mybatis中#{}和${}区别
#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号$将传入的数据直接显示生成在sql中#方式能够很大程度防止sql注入。$方式无法防止Sql注入。
2021-04-26 16:07:59 126
原创 jdbc链接mysql数据库查询不到中文数据,英文字符可以查到
mysql数据库,sql查询中文汉字语句查询不到记录,而数字可以查询后来在mysql连接URL中加上?characterEncoding=UTF-8解决了此问题。
2021-04-07 17:13:12 260
原创 org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
报错如下:21-Mar-2021 10:38:22.551 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standar
2021-03-21 10:46:38 1332 1
原创 java.lang.ClassNotFoundException: org.springframework.dao.DataAccessException
找不到org/springframework/dao/DataAccessException这个类。问题原因:在WEB-INF这个包下创建的依赖包文件夹名必须为lib。否则找不到包或类。
2021-03-08 21:29:47 1213 3
转载 两道面试题,带你解析Java类加载机制
class Grandpa{ static { System.out.println("爷爷在静态代码块"); }} class Father extends Grandpa{ static { System.out.println("爸爸在静态代码块"); } public static int factor = 25; public Father() { System
2021-02-24 11:03:23 163
转载 内存映射
内存映射文件是由一个文件到一块内存的映射,使应用程序可以通过内存指针对磁盘上的文件进行访问,其过程就如同对加载了文件的内存的访问,因此内存文件映射非常适合于用来管理大文件。...
2021-02-23 08:30:35 136
转载 Linux可执行文件如何装载进虚拟内存
从操作系统角度看,一个进程最关键的特征是它拥有独立的虚拟地址空间,很多时候一个程序被执行都伴随着一个新的进程被创建,之后装载相应的可执行文件并运行。上述经历了什么步骤?1、创建一个独立的虚拟地址空间:这里的创建空间并不是真正的创建空间,而是创建映射函数所需要的数据结构,方便后面映射需要。2、读取ELF文件,建立虚拟空间和可执行文件的映射关系:上面的映射数据结构是为了建立虚拟空间到物理内存的映射关系,这一步是虚拟空间与ELF文件的映射关系。(记录各个段的始末位置、权限等等信息,可从ELF中获得)3、将C
2021-02-22 20:39:18 224
原创 异常笔记
Java语言规范将派生于Error类或RuntimeException 类的所有异常称为非受查( unchecked ) 异常,所有其他的异常称为受查(checked) 异常。 编译器将核查是否为所有的受査异常提供了异常处理器。一个方法必须声明所有可能抛出的受查异常, 而非受查异常要么不可控制( Error),要么就应该避免发生。如果在子类中覆盖了超类的一个方法, 子类方法中声明的受查异常不能比超类方法中声明的异常更通用 (也就是说, 子类方法中可以抛出更特定的异常, 或者根本不抛出任何异常)。特别需要说
2020-12-29 20:55:57 73
原创 java类实现自己的clone()方法
1、实现 Cloneable 接口,指示 Object.clone() 方法可以合法地对该类实例进行按字段复制2、重新定义 clone 方法,并指定 public 访问修饰符。Object.clone() 方法是浅拷贝,如需深拷贝必须自己实现
2020-12-29 11:55:47 300
原创 获得Class对象的三种方法
1、Object类中的getClass()方法2、Class类的静态方法forName()3、T是任意的Java类型(或void关键字),T.class将代表匹配的类对象
2020-12-28 19:29:11 125
原创 final修饰符
1、final修饰域,该域为常量,构造对象后,就不可以修改值了;2、final修饰类,该类不能有子类;3、final修饰方法,子类不能覆盖该方法;4、final修饰类,只有其中的方法自动成为final,而不包括域...
2020-12-28 11:09:01 75
原创 Java对象构造时的初始化顺序
1、所有数据域被初始化为默认值(0、false或null)2、按照在类声明中出现的次序,依次执行所有域初始化语句和初始化块3、如果构造器第一行调用了第二个构造器,则执行第二个构造器主体4、执行这个构造器的主体对静态域的初始化1)直接提供一个初始化值2)静态初始化块...
2020-12-28 10:53:29 110
原创 信号量、互斥量、条件变量区别
信号量:一个可以计数数据结构,由内核实现两个原子操作wait,signal,需要使用信号量时用系统调用wait,signal这两原子操作即可。(信号量是为了解决同步问题,信号量的操作只应该由内核去进行,需要进入内核,所以速度很慢,这是信号量的一个很大缺点)互斥量:只有两个状态的信号量(0和1)以实现临界区的互斥访问(信号量只是互斥量的一种实现方式)互斥量可以在用户空间通过TSL或XCHG指令(一条指令是不会被打断的)实现,而不需要系统调用(陷入内核)来实现。(互斥量是为了解决互斥问题)![Moder
2020-11-21 15:07:32 1135
原创 线段树
一、什么时候用到线段树?:考虑一个数组int[] ints = {1,3,5,7,9,11};对数组中任意元素进行更新只需要O(1)的时间复制度如果需要求其中任意一段连续元素的和,可以如下操作int sum = 0;for(int i = start; i <= end; i++){ sum += ints[i];}时间复杂度为O(n),如果需要经常这样操作,可以维护一个数组和sums[n],sumi[i] = sums[i-1] + ints[i],求联系元素和时间复制度可以降
2020-09-26 17:31:57 150
原创 java中codepoint是什么?
要知道codepoint就得先知道unicode字符集,unicode中的每个字符对应一个codepoint。Unicode就相当于一本字典,其中的每个字符都存在一个编号,即为代码点。java中的一个char类型含有两个字节,即16位,只能表示65536中字符,但是Unicode中的字符远不止65536个,这个时候就需要两个char才能表示一个Unicode字符,这时候codepoint就是对应这两个char表示的一个Unicode字符。...
2020-09-24 20:23:04 3026
原创 使用mybatis在mapper.xml中犯的蠢问题
纪念一下犯过的蠢问题项目需要用到mybatis中的标签,我不会啊,怎么办?然后百度得到答案,直接复制过来上面代码是正确的,下面是错误的,然后一直报下面这个错误,我等菜鸡看不懂这什么错误啊,一脸懵逼之前没有将ide中的空白字符显示打开,然后怎么也找不到错误,而且对比上下两段代码没什么区别啊。哎,头发要掉光了,最后一步步才找到问题所在。经验:以后千万不要直接复制网上现成代码,宁肯自己敲一遍都比较好,以免出问题都找不到。...
2020-09-23 21:27:14 99
原创 spring boot项目,没报任何错误,项目自动结束
使用idea启动spring boot项目,没报任何错误,项目自动结束,只输出下面这样一句话Process finished with exit code 1解决方法:在springboot的启动类中加上try-catch捕捉异常,控制台就输出了异常消息。原来是自己有个地方写错了try { SpringApplication.run(ProviderApplication.class);} catch (Exception e) { e.printStackTrace();
2020-08-14 10:23:26 539
原创 Java中super与this的区别
this是当前对象的引用,可以赋值给一个对象变量,而super只是一个指示编译器调研超类方法的特殊关键字,它不能赋值给一个对象变量。
2020-03-17 13:01:31 98
空空如也
如何做一个可以语音识别的小软件,用什么平台,以及什么工具。
2016-10-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人