- 博客(50)
- 资源 (1)
- 收藏
- 关注

原创 Java8 Stream
Stream的定义定义和基本概念学了知识不运用,等于耕地不播种,话不多说,我们开始操作基础代码模型public class TestList { public static void main(String[] args) { ArrayList<User> list = new ArrayList<>(); list.add(new User(1,"zhangsan1")); list.add(new User(
2021-04-14 16:43:18
609
8
原创 Springboot读取nacos配置
但是比如有的参数会变,有的参数不变,像这种也可以放到nacos里,参数不变的放到nacos里,然后再代码里动态补充上变化的参数及参数值,这样在一定程度上就可以减少修改代码的几率。login.url中的参数是不变的,query.queryparm是变化的,role,id又是固定的。类似这种,在代码可以再读取到配置的时候,再动态添加需要的参数。平常在写代码时,一些数据库信息,等基本不变的参数都会放在nacos上的配置文件中,然后再代码中读取nacos的配置例如这样。java代码中是这样读取的。
2025-03-27 16:35:32
283
原创 java实体类属性和注释转成Map<String,String>格式
实体类中的属性和注释转换格式,返回给前端。根据类型的不同,动态的展示表头数据。2.1首先根据传参判断,得到需要转换的实体类。2.2利用实体类上的@JsonProperty注解,去解析。2.3具体的解析方法...
2022-06-22 10:49:11
1623
3
原创 Java8对List<T>数据进行分组转成Map<String,List<T>>格式
从数据库中查的数据是一个List集合,现在需要把集合中的元素按照MetaDataInfo中的type进行分组,并组装成Map格式,便于前端展示3.说明用到了java8中的Collectors.groupingBy(),按照括号中的条件进行分组...
2022-06-21 18:43:02
2423
原创 Java由根目录遍历到子目录,由子节点遍历回溯到根目录
1.需求说明:把整个目录树包括目录下的叶子节点(数据),一次性返回。思路:a.首先获取到根目录的信息,然后查询到根目录下的数据。b.由根目录找到根目录下的子目录,然后递归调用 public List<DataClassInfoVo> query(List<DataClassInfoVo> dataObjectClassListOneSort){ for(int i=0;i<dataObjectClassListOneSort.size()
2022-03-31 11:21:45
1082
原创 Java获取sql语句where条件后的语句
需求说明:从sql语句中截取where条件后的语句示例:从下面语句中只截取 a.name="xx" and a.age="15";select * from a where a.name="xx" and a.age="15"; 解决办法:用到的是Jsqlparser1.首先引入对应的依赖2.直接代码 /** * 获取SQL中的where后面的条件 * * @param sql * @return * @throws JSQ
2022-03-23 17:36:23
2862
原创 Java拼接sql,并组装成建表语句
需求分析:前端传过来的字段,后端组装成sql的建表语句。例子:前端传过来:字段名称,字段类型,字段长度,非空,是否主键username(主键) varchar(30),pwd varchar(30),user表名,用户表:中文名。后端需要组装成建表语句。CREATE TABLE USER (username VARCHAR ( 30 ) NOT NULL COMMENT '用户名',pwd VARCHAR ( 30 ) NOT NULL COMMENT '密码',PRIMARY KE
2021-11-10 18:39:45
1914
3
原创 java中json格式的字符串和javabean互转
要实现javabean和json字符串互转,需要json的jar包jar包liapackage com.it;import com.alibaba.fastjson.JSONObject;public class TestJson { public static void main(String[] args) { // json格式的字符串转javabean Str...
2021-11-10 18:25:56
360
原创 Redis持久化
Redis的读写都在内存中,但内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,将内存中的数据存储到磁盘中的过程,就是Redis的持久化。Redischi'jiu'hua
2021-06-05 09:43:16
148
1
原创 cookie实现用户上一次访问的时间
1.获取当前时间 日期日期=新日期(); //转换默认时间的格式SimpleDateFormat farmat = new SimpleDateFormat(“yyyy MM dd hh:mm:ss”); //得到转换后的时间 String current = format.format(data);2.创建的cookie,获得最新的访问时间 C...
2021-05-27 13:10:20
505
原创 java基于接口的动态代理
用到的类:Proxy(由jdk提供)用到的方法:newProxyInstance()实现接口的动态代理前提:被代理的类至少实现一个接口,如果没有则不用使用接口的动态代理/** * 对手机商要求的接口 */public interface IProducer { /** * 卖手机 * @param money */ public void saleProduct(float money); /** * 产品售后
2021-05-27 13:10:11
745
原创 java基于子类的动态代理
基于子类的动态代理:如果是maven工程则需先引入依赖<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.1_3</version></dependency>提供方:第三方cglib库创建代理类的要求:被代理类不能是final类public class Cli.
2021-05-27 13:09:59
235
原创 Spring的动态代理
1.概念通过代理类为原始类新增额外功能2.编码定义接口public interface UserService { public void register(User user); public boolean login(String name, String password);}定义实现类public class UserServiceImpl implements UserService { @Override public voi
2021-05-27 13:09:45
90
原创 MySql锁
根据加锁的范围,Mysql里面的锁大致可以分为全局锁,表级锁和行锁三类。全局锁全局锁就是对整个数据库实例加锁。Mysql提供了一个加全局读锁的方法,命令是Flush tables with read lock(FTWRL)。当需要让整个库处于只读的状态,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。全局锁的典型使用场景是,做全库逻辑备份。也就是把整库每个表都select出来存成文本。...
2021-05-25 15:57:35
125
3
原创 Java8 Stream 增强
之前有写过一些简单的案例链接,欢迎大家指点、点赞、评论。这次分享,工作中可能会用的到一些增强的stream方法基础代码public class User { private int id; private String username; private String pwd; public int getId() { return id; } public void setId(int id) { this.id
2021-04-16 16:38:47
243
2
原创 java运行时数据区域
程序计数器 是一块较小的内存空间,可以看作是当前线程执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要一个独立的程序计数器,各条线程之间计数器互不...
2021-04-13 14:57:34
110
原创 Java虚拟机类加载机制
类加载的时机 类从被加载到虚拟机内存开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载7个阶段。其中验证、准备、解析统称为连接。 什么情况下需要开始类加载过程第一个阶段:加载?这一点java虚拟机并没有约束,但是对于初始化阶段,虚拟机严格规定了有且只有5种情况必须立即对类进行初始化(而加载等阶段是在初始化之前)。1)遇到new、getstatic、putstatic、或invokestatic这4条字节码指令时,如果类没有进行过初始化,需...
2021-04-09 15:35:17
126
原创 java 对象的内存布局
从今天开始,我会在这里记录jvm相关的内容,一方面自己可以随时复习,另一方面分享给有需要的读者,大家一起努力一起进步。分享来源《深入理解Java虚拟机》-周志明著在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头、实例数据、对齐填充对象头Mark Word HotSpot虚拟机的对象头包含两部分信息,第一部分用于存储对象自身的运行时数据,如哈希码、GC分代年龄、锁状态标志、线程持有的锁、偏向锁ID、偏向时间戳等,这部分的数据长度在32位和64位的虚拟机...
2021-03-30 11:27:26
136
原创 Java中“...“的含义
Java中3个点的含义是:不定参数个数,也就是动态的参数个数举个例子public class StringCopy { public static void main(String[] args) { String[]a={"hello", "world", "123", "china", "csdn", "com"}; ArrayList<String> list = new ArrayList<>(); list.
2021-01-21 16:47:34
7623
4
原创 Java代理设计模式-静态代理
1.概念a.通过代理类,为原始类增加额外的功能b.好处:利于原始类的维护2.代理类开发的核心要素代理类=原始类+额外功能+代理类和原始类实现相同的接口3.代理类的方式静态代理、动态代理。4.静态代理编码定义接口public interface UserService { public void register(User user); public boolean login(String name, String password);}定义实现
2021-01-19 10:47:58
141
原创 Java 反射获取类的属性和父类的属性
定义两个类Person是父类,Student是子类public class Person { private String username; private String grade;}public class Student extends Person { private String sex;}通过反射分别获取父类和子类的属性public class ReflectTest { public static void main(String[
2021-01-12 10:18:33
2889
4
原创 ArrayList原理扩容解析(jdk1.8)
1.先模拟数组扩容需要的条件 ArrayList<Object> list = new ArrayList<>(); for(int i=1;i<=10;i++){ list.add(i); } list.add(1,"zhaoliu");2.当开始添加第11个元素时,会调用add(index,element)方法,开始进行下标判断,调用ensureCapacityInternal方法,参数值为
2020-06-12 22:32:27
446
原创 ArrayList原理解析之add(int index, E element)方法分析(jdk1.8)
1.ArrayList的add(index,element)方法 ArrayList<Object> list = new ArrayList<>(); list.add("张三"); list.add("李四"); list.add("王五"); list.add(1,"zhaoliu");2.在add方法中,先判断下标是否合法,合法不做处理,不合法抛出异常 public void add(int in
2020-06-12 12:32:02
1135
原创 ArrayList原理解析之add(E e)方法分析(jdk1.8)
1.ArrayList的add方法 ArrayList<Object> list = new ArrayList<>(); list.add("张三"); list.add("李四"); list.add("王五");2.在add方法中,调用 ensureCapacityInternal()方法,size默认private int size;所以size为0,那么传递给ensureCapacityInternal的参数值是1
2020-06-12 10:54:05
797
原创 vue实现简单的发表评论案例(存储在localstorage中)
1.学习父子组件传值,传方法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="styleshee
2020-05-09 17:45:51
340
原创 vue实现列表的新增和删除
注意this的指向问题,和v-model的双向数据绑定问题 ,以及some()和splice()方法的使用<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-wi...
2019-12-06 12:40:13
2167
原创 vue实现跑马灯效果(初学者的认识)
!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-C...
2019-12-06 10:40:48
192
原创 java中json格式的字符串和javabean互转 json形式的对象数组转成java对象
用到的是阿里的json jar包import com.alibaba.fastjson.JSONObject;public class TestJson { public static void main(String[] args) { // json格式的字符串转javabean String jsonString = "{\"username\":\"张三\",\"...
2019-08-06 17:54:13
1211
原创 字符串拼接问题
问:如何在字符串中拼接单引号?得到如下所示的情况: 例:String no="123"; String sql="select * from abc where contno=' "+ no+" ' "; 答:单引号(在外)中包括的是双引号(在内)。...
2019-07-04 14:06:17
241
原创 "\"转译字符的使用(字符串中拼带有""的字符串)
例如:需要把<?xml version="1.0" encoding="UTF-8"?>拼接在字符串中答: String string="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";需要把包裹着1.0和UTF-8这两个字符串进行转译...
2019-06-20 14:27:25
3551
原创 java内存
java的内存需要划分为5个部分:1.栈内存(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈内存中运行 局部变量:方法的参数,以及方法括号中的变量 作用域:一旦超出作用域,立刻从栈内存中消失。2.堆内存(Heap):凡是new出来的东西,都在堆内存中。 ...
2019-03-19 09:19:10
158
原创 linux setup缺少网络配置(Centos7)
centOS 7里面,setup已经没有网络设置的功能了。要进行网络配置,要使用nmtui命令。还有centOS 7里的网卡名默认是eno16777736。
2019-03-16 19:25:04
2453
原创 pom.xml中的相关配置
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>tes...
2019-03-11 16:10:28
721
原创 eclipse新建maven项目报错,添加编辑依赖工具
这个错误是说 在java build path下缺少运时jar解决办法: 1.项目上右击,选择properties, 2.找到java build path 3.选择Libraries,点击addLibraries,选择Server Runtime 4.添加对应的运行环境,点击保存即可。maven项目在pom.xml中添加编辑依赖工具 ...
2019-03-11 12:06:57
285
原创 Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for c
在测试mybatis框架时,要返回自增主键,出现以上错误。根据错误提示:在映射文件中不包含值直接查找映射文件,发现在<selectKey keyProperty="id" order="AFTER" resultType="int"></selectKey>少写了返回类型。所以会报错。...
2019-02-22 00:17:23
524
原创 mybatis插入数据返回自增主键(last_insert_id()),返回非自增主键(使用uuid())
自增主键返回首先在personMapper.xml中添加用户<!-- 添加用户 --> <insert id="insertUser" parameterType="com.it.fan.Person" > <!-- keyproperty将查询到的主键值设置到parameterType相对应的哪个属性 order是SELECT last_...
2019-02-19 18:18:55
4124
2
原创 Cause: java.sql.SQLException: Access denied for user 'root1'@'localhost' (using password: YES)
在测试mybatis时,报错Cause: java.sql.SQLException: Access denied for user 'root1'@'localhost' (using password: YES)经过检查,发现是数据库的连接名字写错了。
2019-02-19 16:04:53
3120
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人