
Java基础
文章平均质量分 62
newzhong1
没有简介
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【字符串操作-正则】-文本字符串中多余重复出现的标点符号保留最后一个标点符号
文本字符串中多余重复出现的标点符号保留最后一个标点符号原创 2022-06-19 16:18:46 · 519 阅读 · 0 评论 -
[Java]- 记录无法通过Mybatis分页查询使用内存分页查询
场景-总体思路微服务跨库,通过接口调用因分表分库无法通过xml里的sql进行联表管理查询字段中文模糊查询,而业务表里存的是中文名称在表中对应的id,故需要在另一个数据库进行,通过模块查询出关联表的id,列表List<String> idListMybatis内置分页拦截去掉,改用java8内存分页查出所有数据,通过 java8 流式过滤出数据java8内存分页 /** * @description:java8内存分页 * * @param r原创 2021-04-02 22:48:45 · 191 阅读 · 0 评论 -
[Java]-SpringBoot Scheduled定时任务学习笔记
1. 定时任务的创建SpringBoot内置定时任务模块启动类上添加@EnableScheduling开启定时任务功能需要开启定时任务的方法加上注解@Schedule。并且配置对应的扫描时间cron表达式配置 : @Scheduled(cron = "0/5 * * * * ?"),其中时间为了方便修改,可以将表达式配置在配置文件里面固定间隔时间:在注解里添加@Scheduled(initialDelay = 4000, fixedRate = 6000),初次调用延迟时间4秒,每间隔6秒原创 2021-03-24 15:44:32 · 118 阅读 · 0 评论 -
[Java8]-String新特性-StringJoiner源码解析学习
主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black, awesome-green, qklhk-chocolate贡献主题:https://github.com/xitu/juejin-markdown-theme.原创 2021-03-09 22:10:33 · 277 阅读 · 0 评论 -
[注解]-自定义注解Retention、Target学习
[注解]-自定义注解1.0 @Retention1.1概述介绍:称为元注解,也就是注解的注解 java.lang.annotation.Retention形态可以在定义Annotation注解时,指示编译程序如何对待自定义的Annotation形态。@Retention包含一个属性value,是 RetentionPolicy 的类型,它的数据类型是枚举类Enum,通过枚举类的值来决定Retention注解如何保持,也就是Rentention与 RententionPolicy一起使用。1.2原创 2021-01-30 21:46:18 · 281 阅读 · 1 评论 -
【Java】- 枚举类型总结-应用场景
什么是枚举类型Java 枚举是一个特殊的类,一般表示一组常量,Java 枚举类使用 enum 关键字来定义,各个常量使用逗号来分割,public static final修饰的,最终以分号结束;默认继承了java.lang.Enum,实现了java.lang.Comparable接口,且不能继承其他类,也不可以被继承。但枚举类可以实现一个或多个接口。枚举类的所有实例必须放在第一行显示,不需要new出实例,不需显示调用构造方法。4.构造方法:私有的,默认的就是private/** * <原创 2021-01-03 14:50:42 · 737 阅读 · 1 评论 -
Java的数据类型-之String
Java的数据类型思维导图Java数据类型在内存中的存储:基本数据类型的存储原理:不存在“引用”直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里;引用类型:继承于Object类(也是引用类型)使用Java内存堆和内存栈来进行这种类型的数据存储,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的谈及String首先String是一个类,所以属于引用数据类型。String helloString = new String("helloStri原创 2020-12-13 23:34:56 · 391 阅读 · 0 评论 -
[Java8]-传统的Null校验和引发的问题
文章目录1.0 如何为缺失的值建模1.1 建立一个个拥有汽车及汽车保险的客户。2.0 采用防御式检查减少 NullPointerException2.1 避免 null-安全的第一种尝试:深层质疑2.2 null-安全:过多的退出语句3.0 `null`引发的问题1.0 如何为缺失的值建模1.1 建立一个个拥有汽车及汽车保险的客户。/** * <b>功能描述:保险</b><br> * @author newzhong * @version 1.0.0 *原创 2020-11-15 17:10:43 · 333 阅读 · 0 评论 -
The bean ‘xxxImpl‘ could not be injected as a ‘xxx‘because it is a JDK dynamic proxy that implements
当启动项目时出现以下通用情况The bean ‘xxxImpl’ could not be injected as a 'xxx’because it is a JDK dynamic proxy that implements错误定位解决理由:一般都会使用接口进行注入,如果存在多个实现类的话可以指定注入名称。动态代理的模式是根据接口注入,需要类实现接口,spring在处理这些注解的时候肯定是通过aop这些东西,处理这些注解,aop的一种实现原理也是通过jdk的动态代理的方式,由于注入使原创 2020-08-28 10:54:56 · 1270 阅读 · 0 评论 -
使用Java8中的Optional类来消除代码的Null检查
使用Java8中的Optional类来消除代码的Null检查Optional类是Java 8新增的一个类,用以解决程序中常见的NullPointerException异常问题。本以及如何用它消除代码中的null检查。避免使用null进行检查对于NullPointerException异常,通常都会在异常出现的地方加上if代码块来判断值不为空,比如下面的代码:public void bindUserToRole(User user){ if(User != null){ S原创 2020-08-09 23:17:44 · 748 阅读 · 0 评论 -
将大,长数据的单位:元转为万
详细代码 public BigDecimal toThousand(BigDecimal number, int unit){ BigDecimal bigDecimalTemp = new BigDecimal(0); // 判断传入的值是否为空,或者0 if (number!= null && number.compareTo(bigDecimalTemp) == 1) {原创 2020-07-14 20:13:27 · 297 阅读 · 0 评论 -
阿里巴巴java开发手册——思维导图
异常处理原创 2020-06-01 23:01:09 · 333 阅读 · 1 评论 -
JVM——思维导图总结
原创 2020-06-01 22:47:03 · 198 阅读 · 0 评论 -
虚拟机类加载机制
文章目录第7章 虚拟机类加载机制7.1 类加载的时机7.2 类加载的过程7.2.1 加载7.2.2 验证7.2.3 准备7.2.4 解析7.2.5 初始化第7章 虚拟机类加载机制周志明. 深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)7.1 类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)...原创 2020-01-14 10:53:41 · 135 阅读 · 0 评论 -
Java8基础学习
文章目录Lambda 表达式函数式接口 Functional Interface便捷的引用类的构造器及方法Lambda 访问外部变量及接口默认方法访问局部变量访问成员变量和静态变量访问接口的默认方法内置的函数式接口Predicate 断言FunctionSupplier 生产者Consumer 消费者ComparatorOptionalStream 流Filter 过滤Sorted 排序Map 转...原创 2020-01-06 21:18:50 · 294 阅读 · 0 评论 -
MockMVC单元测试Controller
MockMVC单元测试Controller编写controller类编写测试类ctrl+Shit +T 生成单元测试类@RunWith(SpringJUnit4ClassRunner.class)JUnit类运行器,会为JUnit测试加载Spring应用程序上下文,并为测试类自动织入所需的Bean。@SpringBootTest(classes = App.class)@Context...原创 2019-12-16 16:05:23 · 244 阅读 · 0 评论 -
JVM中 垃圾回收机制理解
1.0 堆里面的分堆里面分为新生代和老生代,默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio 来指定 ),即:新生代 ( Young ) = 1/3 的堆空间大小。老年代 ( Old ) = 2/3 的堆空间大小。其中,新生代 ( Young ) 被细分为 Eden 和 两个 Survivor 区域,这两个 Su...原创 2019-10-20 23:56:40 · 214 阅读 · 0 评论 -
synchronized 关键字的理解与使用
synchronized 关键字的了解synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在 Java 6 之后Java 官方对从 JVM 层面对synchronized 较大优化,所以现在的 synchronized 锁效率也优化得很不错了。JDK1.6对锁的实现引入了大量的优化,如自旋锁、适应性自旋锁、锁消除...原创 2019-10-20 21:44:01 · 524 阅读 · 0 评论 -
面向对象设计原则理解+记忆
面向对象设计原则理解记忆口诀开口合里最单依开:开闭原则口:接口隔离原则合:合成复用原则里:里氏替换原则最:最少知识原则,迪米特法则单:单一职责依:依赖倒转原则开闭原则(Open-Closed Principle OCP)面向对象的可复用设计的第一块基石,它是最重要的面向对象设计原则一个软件的实体应对扩展开放,对修改关闭。设计一个模块的时候,应当使这个模块在不被修改的前...原创 2019-06-14 19:45:33 · 753 阅读 · 0 评论 -
从源码底层来看String,StringBuffer,与StringBuild
文章目录String的底层StringBuffer继承StringBuffer实现扩容线程安全性StringBuilder继承扩容执行速度执行速度String的底层String类没有提供用于修改字符串的方法。String类对象为不可变字符串,不可变字符串有一个优点:编译器可以让字符串实现共享。实际上只有字符串常量(使用“ ”声明,存储在字符串常量池中)是共享的,比较字符串值是否相等时使用equ...原创 2019-10-29 23:11:42 · 395 阅读 · 0 评论 -
BIO,NIO,AIO 的基本概念以及一些常见问题
1.0 同步与异步同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。异步: 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果。同步和异步的区别最大在于异步的话调用者不需要等待处理结果,被调用者会通过回调等机制来通知调用者其返回结果。2.0 阻...原创 2019-10-21 00:30:39 · 312 阅读 · 0 评论 -
JAVA并发系列:Java中atomic包下原子操作类总结
Atomic 原子类Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。所以,所谓原子类说简单点就是具有原子/原子操作特征的类。CAS操作使用锁时,线程获取锁是一种悲观锁策略,即假设每一次执行临界区代码都会产生...原创 2019-10-20 22:27:10 · 415 阅读 · 0 评论 -
Java 中引用类型都有哪些
Java 中引用类型都有哪些Java中对象的引用分为四种级别,这四种级别由高到低依次为:强引用、软引用、弱引用和虚 引用。强引用( StrongReference)如果一个对象被被人拥有强引用,那么垃圾回收器绝会回收它。当内存空间不足, Java 虚拟机宁愿抛出 OutOfMemoryError 错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。Java的对象是位...原创 2019-10-19 22:56:47 · 2611 阅读 · 1 评论 -
JVM内存结构的总结
简述 java 垃圾回收机制在 java 中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM 中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。1.内存模型以及分区,每个区放什么JVM 分为堆区和栈区,还有方法区,初始化的对象放...原创 2019-09-08 17:14:00 · 1138 阅读 · 0 评论 -
网络编程
JAVA网络编程学习记录1.协议分类java.net 包中包含的类和接口,它们提供低层次的通信细节。我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节。两种常见的网络协议的支持:1.UDP:用户数据报协议(User Datagram Protocol)。UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。一台计算机直接向另一台计算机直接发送数据...原创 2019-07-17 23:12:28 · 203 阅读 · 0 评论 -
JAVA 常用的函数式接口学习记录
JAVA新特色 常用的函数式接口学习记录函数式接口在Java中是指:是java8的一种新特性,函数式接口定义了且只定义了一个抽象方法!该接口非常有用,抽象方法的签名就是可以描述lambda表达式的签名。并且引入了@FunctionalInterface,与 @Override注解的作用类似,该注解可用于一个接口的定义上。Supplier接口的学习使用java.util.function.Su...原创 2019-07-19 22:05:22 · 260 阅读 · 0 评论 -
java异常类体系---------学习笔记
异常学习笔记1.异常1.1 异常概念异常,就是不正常的意思。异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的方式是中断处理。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.1.2 异常体系异常机...原创 2019-07-04 16:48:30 · 220 阅读 · 0 评论 -
Java 8 Lambda 表达式
Java 8 Lambda 表达式一种匿名函数,简单地说,它是没有声明的方法,也即没有访问修饰符、返回值声明和名字。函数式编程思想函数式思想则尽量忽略面向对象的复杂语法——强调做什么,而不是以什么形式做。 只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程Lambda 表达式与匿名类的区别大区别在于关键词的使用。对于匿名类,关键词 this解读为匿名类,而对于 Lam...原创 2019-06-11 10:42:36 · 146 阅读 · 0 评论 -
02.缓冲流、转换流、序列化流
02.缓冲流、转换流、序列化流1缓冲流1.1 概述高效流,是对4个基本的FileXxx 流的增强,也是4个流,按数据类型分类:字节缓冲流:BufferedInputStream,BufferedOutputStream字符缓冲流:BufferedReader,BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统...原创 2019-06-04 10:11:07 · 183 阅读 · 0 评论 -
Java IO流知识点学习总结
1.IO概述1.1 IO简介数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input 和输出output ,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做读取数据,输出也叫做作写出数据。1.2 IO的分类根据数据的流向分为:输入流和输出流。输入流 :把数据从其他设备上读取到内...原创 2019-06-04 09:28:01 · 383 阅读 · 0 评论 -
java8新特性之------- Stream流学习笔记记录
java 8 Stream流学习笔记记录Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。就是将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(...原创 2019-07-20 21:00:03 · 230 阅读 · 0 评论 -
RESTful API 学习笔记详细成长记录 --- 深入理解 RESTful
RESTful API 学习笔记详细成长记录 — 深入理解 RESTful1.概述REST 是“REpresentational State Transfer”的缩写,可以翻译成“表现状态转换”但是在绝大多数场合中我们只说 REST 或者 RESTful。Fielding 在论文中将 REST 定位为“分布式超媒体应用(Distributed Hypermedia System)”的架构风...原创 2019-08-02 17:42:06 · 424 阅读 · 0 评论 -
Java的反射机制API使用及实现
java的反射机制学习一般在实例化对象时,必须要知道类名才可以实例化它的对象,这样我们在应用方面就会受到限制,反射技术,让我们不知道这个类的类名就可以实例化它的对象。java程序在运行时可以获得任何一个类的字节码信息,包括类的修饰符(public,static等),基类(超类,父类),实现的接口,字段和方法等信息.java程序在运行时可以根据字节码信息来创建该类的实例对象,改变对象的字段内...原创 2019-08-21 18:02:13 · 382 阅读 · 0 评论 -
悲观锁与乐观锁的理解
概述悲观的人总是往事情坏的方向去想,而乐观的人总是往事情好的方向去想悲观锁:总是假设发生最坏的情况,就是每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁...原创 2019-09-04 10:27:11 · 104 阅读 · 0 评论 -
JavaScript和Java异同点
JavaScript和Java是两种不一样的语言,但是它们之间存在联系背景方面Netscap公司的JavaScript Sun借助Sun公司的java打了知名度出身不同Javascript 是 Netscape 公司的脚本语言,而 Java 是 SUN Microsystems 公司推出的新一代面向对象的程序设计语言。嵌入方式不同在 HTML 文档中,两种编程语言的标识不同,Javas...原创 2019-09-09 10:21:38 · 1310 阅读 · 0 评论 -
ArrayList的底层源码 扩容机制
ArrayList有三种方式来初始化,构造方法源码如下: /** * 默认初始容量大小 */ private static final int DEFAULT_CAPACITY = 10; private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; /**...原创 2019-09-16 11:08:41 · 242 阅读 · 0 评论 -
Servlet全面常见问题总结(上)
概述:Servlet主要负责接收用户请求 HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServletResponse反馈给用户。Servlet 可以设置初始化参数,供Servlet内部使用。一个Servlet类只会有一个实例,在它初始化时调用init()方法,销毁时调用destroy()方法。**Servlet需要在web.xml中配,一...原创 2019-09-16 17:09:16 · 459 阅读 · 0 评论 -
servlet常见面试----jsp篇
JSP和Servlet是什么关系Servlet是一个特殊的Java程序,运行于服务器的JVM中,依靠服务器的支持向浏览器提供显示内容。JSP本质上是Servlet的一种简易形式,JSP会被服务器处理成一个类似于Servlet的Java程序,可以简化页面内容的生成。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML分离开来。而JSP的...原创 2019-09-16 18:02:33 · 166 阅读 · 0 评论 -
Java代码执行顺序----面试
1)父类:静态成员赋值,静态代码块2)子类:静态成员赋值,静态代码块3)父类:实例成员赋值,实例代码块4)父类:构造器中的其他方法5)子类:实例成员赋值,实例代码块6)子类:构造器中的其他方法...原创 2019-09-16 18:35:47 · 205 阅读 · 0 评论 -
1.Collection、泛型
Collection、泛型主要内容Collection集合迭代器增强型for泛型1.Collection集合1.1 集合概述集合 :合是java中提供的一种容器,可以用来存储多个数据。集合和数组区别:数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型元素,存储基本数据类型值。集合存储的对象。而且对象的类型可以不一致。1.2 集合框架按存储结构分...原创 2019-05-31 11:24:33 · 148 阅读 · 0 评论