Java学习笔记
文章平均质量分 59
Java学习过程中的一些笔记
梦想不会灭
把每一件简单的事情做好,就是不简单;把每一件平凡的事情做好,就是不平凡!相信自己,创造奇迹~~
展开
-
数据库表字段以表格形式写入Word
在项目的开发中,难免会有编写概要设计、详细设计文档的要求,而在这些文档中,不可避免的就是要把数据库表的字段信息以表格的形式体现出来。表数量少点还可以一点点粘贴,多了的话真的会疯,所以自己编写了一套可以自动读取数据表字段来批量写入文档的代码。maven项目需要先引入依赖。原创 2023-11-15 10:33:15 · 555 阅读 · 0 评论 -
List操作removeAll引发得java.lang.UnsupportedOperationException异常
List操作removeAll引发得java.lang.UnsupportedOperationException异常原因和解决方案原创 2022-08-14 22:24:22 · 1113 阅读 · 0 评论 -
SpringMVC的执行流程
SpringMVC的执行流程以及组件介绍原创 2022-07-10 22:24:04 · 319 阅读 · 0 评论 -
list调用stream().collect方法报错空指针异常
list调用stream方法报空指针原因及解决方案原创 2022-06-13 22:12:54 · 7457 阅读 · 0 评论 -
BeanUtil - 获取实体bean的工具类
获取实体bean和实体类属性拷贝的工具类原创 2022-06-04 22:52:45 · 1266 阅读 · 0 评论 -
Java泛型详解
一、泛型的本质Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数具体的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。二、泛型的作用泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率1、保证类型的安全性在没有泛型之前,从集合中原创 2022-05-30 23:35:50 · 829 阅读 · 0 评论 -
No bean named ‘transactionManager‘ available: No matching PlatformTransactionManager bean found for
1、问题现象报错:No bean named ‘transactionManager’ available: No matching PlatformTransactionManager bean found for2、问题原因项目中采用的了2个数据源,所以将配置文件中的id为transactionManager重命名了,例如改成了sysTransactionManager。在service层的imp层的代码里加了注解@Transactional,但是@Transactional注解中的默认值是tr原创 2022-05-16 19:47:53 · 3972 阅读 · 0 评论 -
@PostConstruct使用讲解
1、定义从JavaEE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。2、执行顺序及其使用场景被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。PreDestroy()方法在destroy()方法之后执行从依赖注入的字面意思可以知道,要将对象原创 2022-05-14 21:04:20 · 3766 阅读 · 2 评论 -
Java实现压缩与解压缩工具类
package com.bfd.knowl.common.utils;import java.io.*;import java.util.ArrayList;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;import com.bfd.bdos.common.logger.LogType;原创 2020-12-06 15:43:02 · 601 阅读 · 0 评论 -
java统计一个项目的代码行数
代码如下:mport java.io.*;/** * @author ming.chang * @since 2020/10/31 9:23 */public class CountCodeLine { static int count = 0; public static void main(String[] args) throws IOException { //获取所要查询文件夹路径 String path = "D:\\idea-perc原创 2020-10-31 09:30:20 · 1186 阅读 · 0 评论 -
对List<String>或List<Dto>进行排序
1.对List进行排序import java.util.ArrayList;import java.util.List;import java.util.Comparator;List<String> valueList = new ArrayList<>();valueList.add("1");valueList.add("2"); Collections.sort(valueList, new Comparator<String>() {原创 2020-08-30 11:55:32 · 899 阅读 · 0 评论 -
web项目打成war包的三种方式
文章目录一、intellij idea打war包二、eclipse打war包三、cmd命令窗口打war包war包即Web归档文件,将Web项目打成war包可以直接拷贝到Web服务器发布目录(例如Tomcat服务器webapps目录 ),当Tomcat启动后该压缩文件自动解压,war包方便了web工程的发布。.这里我用idea、eclipse、cmd窗口三种方式说明如何打war包(后两中方法是截取其他博客,供参考)。一、intellij idea打war包1、第一步在我们的电脑上打开IntelliJ I原创 2020-08-11 11:08:52 · 38392 阅读 · 0 评论 -
浅谈 mysql 悲观锁与乐观锁的理解以及使用方式
文章目录一、并发控制二、悲观锁(Pessimistic Lock)三、乐观锁(Optimistic Locking)四、实现方式1、悲观锁实现方式2、乐观锁实现方式五、如何选择一、并发控制当程序中可能出现并发的情况时,就需要通过一定的手段来保证在并发情况下数据的准确性,通过这种手段保证了当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。这种手段就叫做并发控制。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就可能导致脏读、幻读和不可重复原创 2020-08-09 16:30:05 · 878 阅读 · 1 评论 -
事务解答之@Transactional 注解的属性介绍
@Transactional 是声明式事务管理 编程中使用的注解1 .添加位置1)接口实现类或接口实现方法上,而不是接口类中。2)访问权限:public 的方法才起作用。@Transactional 注解应该只被应用到 public 方法上,这是由 Spring AOP 的本质决定的。系统设计:最好将标签放置在需要进行事务管理的方法上,而不是放在所有接口实现类上:因为只读的接口就不需要事务管理,由于配置了@Transactional就需要AOP拦截及事务的处理,可能影响系统性能。如果想放在实现类上,原创 2020-08-08 14:30:44 · 3827 阅读 · 0 评论 -
事务解答之事务的四大特性以及隔离级别
一、事务的四大特性(ACID)如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:1、原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2、一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。 拿转账来说,假设用户A和用户B两者的钱加起来一共是5原创 2020-08-08 11:57:19 · 228 阅读 · 0 评论 -
Java实现文件自动重命名,类似于浏览器下载后如果该文件存在,拼接(1)
因为我这个是基于web应用,并不是下载操作,只是用户保存名称的时候实现名称自动重命名,仅供参考。private String getNewModelName(String oldModelName, String userName) { //定义变量,用于判断此名称在库中是否存在 int num = 0; String modelName = oldModelName; //定义变量,用于名称末尾拼接数字 int count原创 2020-08-08 11:23:07 · 1056 阅读 · 0 评论 -
Java复制Bean,List工具类
public class CopyBeanUtil { /** * 复制对象 * * @param source 源 要复制的对象 * @param target 目标 复制到此对象 * @param <T> * @return */ public static <T> T copy(Object source, Class<T> target) { try {原创 2020-08-06 09:59:28 · 1821 阅读 · 0 评论 -
简单了解GC垃圾回收
如何判断数据是垃圾数据?1.引用计数算法为对象添加引用计数器,当计数为0时,被标记为垃圾对象,可以被回收。优点:原理简单,实现方便,性能较高。2.可达性分析法判断对象和GC ROOTS是否有相连的引用链,如果没有,则标记为垃圾对象GC ROOTS对象 都是常用的有用的对象1)虚拟机栈(栈帧中的本地变量表)中引用的对象。2)方法区中类静态属性引用的对象。3)方法区中常量引用的对象。...原创 2019-11-26 20:00:15 · 613 阅读 · 0 评论 -
获取两个list的差集方法
public class ListUtils<T> { /** * 获取两个list的差集 * @param totalList 总的List * @param containsList 要排除的list * @return totallist - containsList */ public List<T> getTwoListDifference(List<T> totalList,List<T&原创 2020-07-24 14:40:39 · 7338 阅读 · 0 评论 -
Java-数据加解密实现
注意:强烈建议阅读本文之前,先行阅读下面这篇文章,建立对密码学技术体系的整体认知: https://blog.csdn.net/weixin_39190897/article/details/82223408先来一个故事(可粗略理解 数字签名、散列函数、证书机构、非对称加密、公私密钥 等密码学技术的应用)~假如A授权B的一段代码dmk可以访问A的系统,一个坏蛋C也想要访问A的系统做一些坏事,但是C没有的到A的授权,那么A怎么知道dmk就是dmk呢,是这样做的B通过dmk生成一个散列值,然后...转载 2020-05-24 16:05:53 · 322 阅读 · 0 评论 -
代码Review常见问题
路线图 常见代码问题常见的潜在代码问题是当前直接会导致BUG、故障或者产品功能不能正常工作的类别。 空值空值恐怕是最容易出现的地方之一。 常见错误有: a. ...转载 2020-03-06 10:04:29 · 1054 阅读 · 0 评论 -
cookie和session的区别
一、cookie机制和session机制的区别具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择,比如说重写 URL和隐藏表单域。二、会话cookie和持久cooki...原创 2020-01-17 11:41:55 · 105 阅读 · 0 评论 -
wait(1000)与sleep(1000)的区别
sleep和wait的区别:1、sleep是Thread的静态方法,wait是Object的方法,任何对象实例都能调用。2、sleep不会释放锁,它也不需要占用锁。wait会释放锁,但调用它的前提是当前线程占有锁(即代码要在synchronized中)。3、它们都可以被interrupted方法中断。具体来说:Thread.Sleep(1000) 意思是在未来的1000毫秒内本线程不参与...原创 2019-12-02 21:11:50 · 1036 阅读 · 0 评论 -
Java中Servlet和Filter的区别和联系
一. 概念方面:servlet是一种运行与服务器端的java应用程序,具有独立于平台和协议的特征,并且可以动态的生成web页面,它工作在客户端请求和服务端相应的中间层。filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。filter不像servlet,它能产生一个请求或者响应,他只是修改对某一资源的请求,或者修改从某一资源的响应。二. 生命周期:servl...原创 2019-11-27 22:42:14 · 334 阅读 · 0 评论 -
Java中cookie和session的区别
区别CookieSession存在Cookie是客户端技术,通常保存在客户端,即本地,IE浏览器把Cookie信息保存在类似于C:\windows\cookies的目录下。因为Cookie在客户端所以可以编辑伪造,不是十分安全Session是服务器端技术,在服务端,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用...原创 2019-11-27 22:36:47 · 582 阅读 · 0 评论