- 博客(37)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Spring service内部方法相互调用,事务不起作用
今天在测试事务的传播机制的时候,发现了一个问题。我在service里面写了两个方法,想分别执行不同的事务,结果发现好像事务没有起到作用一样。错误代码如下:@Componentpublic class PersonService { @Autowired private PersonDao personDao; public void saveAllPersonsMessage() { this.saveVIPPersonMessage();
2021-09-09 10:40:16
1553
原创 SpringData JPA 执行报错,java.sql.SQLSyntaxErrorException: Table ‘study.hibernate_sequence‘ doesn‘t exist
今天自己在测试事务传播机制的时候,无意间发现了一个执行sql时候报的错:java.sql.SQLSyntaxErrorException: Table 'study.hibernate_sequence' doesn't exist持久层用的是SpringDataJpa。在设计DO的时候,用的是@GeneratedValue 注解,这里没有制定具体的主键生成策略,JPA会默认主键生成策略为 GenerationType, 所以@GeneratedValue 等价于 @GeneratedVa..
2021-09-09 07:55:37
618
原创 Java SringBuffer和StringBuilder的toString效率
上文介绍了SringBuffer,StringBuilder和String在拼接字符串时候的效率对比。可以看出效率StringBuilder > StringBuffer > String。但是我们在使用的过程中,最后都会把SringBuffer和StringBuilder转成String进行使用。它们两个都有toString方法可以调用,那么它们转成String的效率也是 Stri...
2020-04-15 08:13:00
716
原创 Java StringBuilder、StringBuffer和String的对比
1、效率: StringBuilder > StringBuffer > String分析:①Java中对String对象进行的操作实际上是一个不断创建新的对象并且将旧的对象回收的一个过程,所以执行速度很慢。②String在java中是不可变长的,一旦初始化就不能修改长度,简单的字符串拼接其实是创建新的String对象,再把拼接后的内容赋值给新的对象,在频繁修改的情况下会频...
2020-04-15 07:46:29
193
原创 Java StringBuffer扩容问题
看下StringBuffer的2个构造器和appen()方法:1、无参构造器,顺便看下父类方法,new()了一个长度为16的数组----由此可见,无参够造器默认容量是16public StringBuffer() { super(16); }// super()方法调用父类AbstractStringBuilder(int capacity) { ...
2020-04-14 18:02:54
436
原创 Java 对String和Integer类型的数组进行正序和倒叙排列
对String类型的List数组进行正序和倒叙排列public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("ee"); list.add("dd"); list.add("aa");...
2020-04-14 16:54:43
463
原创 Java 多线程问题 3个窗口卖100张票 不会出现重票和错票
Java多线程的经典案例,3个窗口同时卖100张火车票。要保证没有重复票和错票。错误案例:public class TestSellTicketsRunnable { public static void main(String[] args) { Tickets tickets = new Tickets(); Thread thread1 ...
2020-04-10 18:31:39
3140
原创 Java IO流的缓冲流 BufferedReader和BufferWriter 以及 BufferedInputStream和BufferedOutputStream
上一篇文章介绍了字节流FileInputStream和FileOutputStream,今天介绍几个效率更高的流的读取和写入。缓冲流 BufferedReader和BufferWriter 用来处理文本,要比FileReader和FileWriter效率高很多。话不多说,直接上代码。先介绍BufferedReader和BufferWriter。代码如下: @Test p...
2020-04-09 08:42:26
472
原创 Java IO流的写入和写出操作 FileInputStream和FileOutputStream
今天学习了Java的IO流,关于文件的写入和写出,主要是FileInputStream和FileOutputStream,这两个流操作叫做字节流。还有字符流(FileReader和FileWriter),字符流只能处理文本文件,字节流可以处理图片,视频等。话不多说,直接上代码。代码实现了一个文件的拷贝操作。 @Test public void test() { l...
2020-04-08 15:37:23
575
原创 Java Boolean类型的变量,赋值之后的问题,通过反编译之后的代码可以看的很清晰
public class Test { public static void main(String[] args) { boolean b = false; if (b = true) { System.out.println("a"); } else if (b) { System.o...
2020-04-03 18:24:05
729
原创 Java IO 类的 isDirectory 和 isFile方法的缺憾
今天在学习IO流的时候,学习到了isDirectory() 和 isFile()方法。先介绍下这两个方法。// isDirectory() 这个用来测试该对象存在且是一个目录文件,简单说该对象存在且是一个文件夹,就返回true,否则返回false,// isFile() 这个用来测试该对象存在且是一个文件,简单说该对象存在而且要是一个文件,比如1.txt,就返回true,否则返回fal...
2020-04-03 18:08:42
1790
1
原创 Java 设计模式之单例模式-- 饿汉式和懒汉式
Java的设计模式,大体上可以分为23种类型,今天浅谈下单例模式。单例模式,顾名思义,只有一个实例。单例的实现有两种,叫饿汉式和懒汉式。1、饿汉式--顾名思义,很饥饿,不管你有没有调用,我类加载的时候就直接生成一个单例。这个模式是线程安全的。代码如下:public class EagerSingleton { private static EagerSingleton ...
2020-03-30 12:10:43
452
原创 Java final和abstract学习总结
今天学习了Java基础知识的final和abstract两个修饰符,总结如下:final 用来修饰类、属性和方法 ;被修饰的都是不能再修改了,最终了,到头了。1、final修饰类,这个类不能被继承。例如:String,StringBuffer,System。2、final修饰方法,此方法不能被重写。如Object类中的getClass()方法。3、final修饰一个属性,此属性就是...
2020-03-29 22:04:32
506
1
原创 IDEA控制台 用Junit测试的时候 Scanner输入没效果
今天写测试代码的时候,需要用Scanner输入数字,但是测试@Test注解的方法时,发现键盘上输入没有反应。我用的是IDEA 2019.3.3版本的。网上查找方法,后来发现只要在启动的vmoptions添加一个选项就ok了,添加内容如下:-Deditable.java.test.console=true具体操作如下图所示,从IDEA这里进入修改可以不用管操作系统的位数。把...
2020-03-28 21:42:07
625
3
原创 Java ArrayList线程安全问题
今天在学习集合Collection,里面讲到了List下面的实现类ArrayList、LinkedArrayList和Vector的线程安全问题。先抛出结论: ArrayList和LinkedList是线程不安全的,Vector是线程全的。分析: 线程的安全性是对于多线程来说的,如果是单线程的程序,可以不用考虑安全问题。 以ArrayList和Vector的a...
2020-03-27 16:19:10
1063
原创 Mysql delete删除表数据之后,表空间没有释放的问题
事件起因:今天运维人员找我,说我们的数据库磁盘空间满了。于是提供了一些删除表数据的sql给他,让他执行下。执行之后,查询数据库,表数据是不在了,但是问题来了。磁盘空间并没有释放,这是为啥咧????于是乎,上网查找资料,功夫不负有心人,终于找到问题原因:使用delete 加上where条件的删除都不是真删除,在删除数据的时候,mysql并没有把数据文件删除,而是将数据文件...
2020-03-26 12:30:38
6069
2
原创 Java 构造函数之父类和子类
先来一句重要的结论:如果一个类写了有参构造函数,那么无参的构造函数就不能用了。如果没有构造函数,Java会默认有一个无参的构造函数。这个无参的构造函数可以不用写出来。在Java代码中,会发现如果类有继承的话,很多都写了super()方法,而且还写在了构造方法的第一行,不然就会报错。这个是Java的规定:子类继承父类,子类的构造方法必须调用super()即父类的构造方法,而且必须放在构造...
2020-03-24 17:17:49
528
1
原创 Java 输出杨辉三角
今天在学习Java数组的时候,写了个杨辉三角的输出,只输出到前10行。关键的内容在内部那个for循环上。话不多说,直接上代码。public class YangHuiArray { public static void main(String[] args) { int[][] hang = new int[10][]; for (int i...
2020-03-18 16:00:06
825
原创 Java 冒泡排序 Arrays.sort(array);
数组简单的排序,写了点代码,实现了数组的正序和倒叙排列,提取了一些公共的方法。如果有不妥和可优化之处,望留言讨论。话不多说,直接上代码。public class MaoPaoSort { public static void main(String[] args) { int[] array = new int[] { 8, -9, 52, 10, 21, 5...
2020-03-18 13:55:35
585
原创 Java 输出九九乘法表 两种方式
九九乘法口诀,开始学习的时候,可能没考虑到对齐的情况,只满足了输出要求。代码如下: public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int k = 1; k <= i; k++) { System.ou...
2020-03-17 09:56:22
3795
1
原创 Java Boolean类型的变量,赋值之后的问题,通过反编译之后的代码可以看的很清晰
今天在看Java基础知识的时候,遇到一个关于Boolean类型的值,初始化一个false,然后再重新赋值为true或者fasle的一个奇怪问题。下面通过例子介绍下这个问题,以及为什么会出现这样问题的分析。例1:初始化为false,if里面重新赋值为true,if的结果为truepublic class Test { public static void main(String[...
2020-03-16 17:02:37
1726
原创 全局变量和局部变量初始化问题
在Java中,如果是全局变量(也称类变量),没有初始化的话,会有一个初始默认值,默认值如下所示:变量类型 默认值 int,byte,short,long 0 char 一个空格 float,double 0.0 引用值(比如String) null 以int类型为例,代码如下:但是如果是局部变量,没有初始化,是不能直接调用的。...
2020-03-16 16:22:29
259
原创 IDEA 新版本激活之后老是有弹窗 解决方法
用了最新的版本的IDEA,然后用网上的方法破解到了2089年,但是打开IDEA的时候,老是出现一个弹窗,内容如下:This agent is for learning and research purposes only.Do nto user it for commercial purposes!For commercial user,please contact the Jetbrains...
2020-03-11 15:51:18
3790
1
原创 HashMap的容量(capacity)和大小(size)浅谈,打印hashMap的容量(capacity)方法
hashMap 默认容量(capacity)是16当size的值超过75%的时候,就会进行扩容,capacity翻倍写了个小程序验证,代码如下:import java.lang.reflect.Method;import java.util.HashMap;import java.util.Map;public class HashMapTest { publ...
2020-02-25 16:37:04
3120
原创 Java String转成XML
import com.sun.org.apache.xml.internal.serialize.OutputFormat;import com.sun.org.apache.xml.internal.serialize.XMLSerializer;import org.w3c.dom.Document;import org.xml.sax.InputSource;import org....
2020-02-25 16:27:33
5780
原创 使用@JsonProperty注解,反序列化之后出现重名字段,一个首字母大写,一个首字母小写
今天开发一个需求,对应类里面的字段要以大写字母开头。但是在使用@JsonProperty注解之后,发现序列化之后打印出来的内容,会出现重名的字段。具体见测试代码。1、用的lombok插件,写上@Data注解后,就不用写set和get方法了,可以在pom.xml里面配置,具体配置如下:<dependency> <groupId>org.projectlombok&...
2020-01-02 16:39:14
4686
4
转载 IDEA去除掉虚线,波浪线,下划线实线和各种告警的方法
最近重装了几次IDEA,导入项目后,每次都要设置告警级别,和个别告警。每次都要百度,挺麻烦的。今天找到这个博文,讲述的很全面,留存备用。转自:https://blog.csdn.net/best_luxi/article/details/81253316初次安装使用IDEA,总是能看到导入代码后,出现很多的波浪线,下划线和虚线,这是IDEA给我们的一些提示和警告,但是有时候我们并...
2019-12-17 17:30:02
2193
原创 后台导出excel报错,java.io.IOException:Permission denied
项目介绍:springboot项目,后台导出excel功能,linux环境部署服务问题描述:导出数据时候,报错,java.io.IOException:Permission denied问题原因:之前一直用root用户登录linux服务器,启动服务也是用root。后来root账号被收回了,给了一个新用户,但是用户权限有好多没有赋到,导致了这个导出功能不能用了。问题解决:百度了下,...
2019-07-25 11:08:29
3130
3
原创 ORA-28547 Navicat连接Oracle数据库问题解决
问题描述:本地安装了oracle服务,想用Navicat连接下看看效果,结果连接测试的时候,报错了,ORA-28547 ,详细信息如下图:解决方案:修改OCI配置。具体步骤如下:1、选择“工具” --> “选项” --> “OCI” 查看oci.dll文件的配置,我原始的文件配置是:E:\Program Files\PremiumSoft\Navicat...
2019-04-18 14:51:49
447
原创 Navicat导入txt,clob字段出现乱码
问题描述:用Navicat导出了Mysql数据库的一张表数据,导出格式是txt格式。想通过Navicat再把这个txt文件,导入到Oracle数据库。但是导入的时候发现clob字段变成了乱码。非colb字段都可以正常导进去,汉字也不会乱码。导入后结果如下图:解决方法:后来发现原来是导入的步骤有些问题。在导入向导第四步的时候,要注意选择。注意:这个地方 二进制数...
2019-04-18 14:31:19
854
原创 SpringBoot 事务回滚,自己写了try catch 导致事务没有回滚
项目上有个需求,先把表A的数据按要求备份到表B中,然后再把表A的备份数据删掉。按照逻辑,在备份和删除的过程中,出现任何异常都要回滚数据。于是在方法上加了@Transactional注解,认为这样,遇到异常就可以回滚了。自己在代码中故意设置了一个异常,代码如下图:结果测试的时候,发现数据并没有回滚。后来各种百度和请教,结果发现是自己加了try{}catch的原因导致的,自己捕获了异...
2019-04-09 17:14:33
3112
转载 securecrt下载和注册方法
securecrt注册方法使用文中的方法,可以注册Version 7.1.0 (x64 build 244)版本的securecrt。另有注册机下载地址:http://pan.baidu.com/share/link?shareid=3070913977&uk=3540409982原文:Tip:笔者使用系统为Windows 2003 Server ...
2019-04-02 14:35:32
1877
原创 谷歌浏览器安装json格式化插件
实际开发工作中经常用到json数据,我们在开发的时候希望在览器中返回的json数据能否按照json格式展现出来,这个时候如果浏览器没有安装Json插件,就不能按照Json格式展示了。那么我们就需要安装下Json格式化插件。安装步骤如下:1、下载JsonView扩展程序压缩包下载地址:https://github.com/gildas-lormeau/JSONView-for-Chrom...
2019-04-02 09:58:02
11264
5
原创 SpringBoot application.yaml文件配置schema 无法执行sql问题
据说1.0版本的SpringBoot没有这样的问题,我用的2.1.3版本的,出现了这样的问题。pom.xml配置文件:根路径下放了2个sql文件启动的时候,要加上initialization-mode: always 这个配置,否则两个sql文件就不会执行...
2019-04-01 16:30:20
2797
2
原创 docker安装好mysql,并成功启动,在本地用Navicat连接报2059错误,解决方法
问题描述:docker成功安装了mysql,也正常启动了。启动命名如下:docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql用docker ps -a 也可以查到容器中mysql也在运行中,如下图:但是在本地用Navicat登录的时候,发现报错了。报错信息连接Do...
2019-03-22 15:51:02
2046
3
原创 docker安装成功启动失败,修改配置项解决问题
安装docker成功后,用命令启动docker,结果报错了,Failed to start Docker Application Container Engine.详细报错信息如图:第一次搞docker,结果就一顿百度求助,还真找到了解决方案。解决方法,修改docker文件,具体命令:vi /etc/sysconfig/docker,在--selinux-enabled后面添加=...
2019-03-21 15:56:44
860
1
原创 xml和json相互转换的代码
public class XMLExchangeJson { private static final String STR_JSON = "{\"name\":\"Michael\",\"address\":{\"city\":\"Suzou\",\"street\":\" Changjiang Road \",\"postcode\":100025},\"blog\":\"http://w
2015-07-03 14:13:02
293
Java ClassLoader路径问题导致空指针
2020-04-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人