java
文章平均质量分 51
黄贞辉
这个作者很懒,什么都没留下…
展开
-
PageHelper分页错乱
双重限制逻辑会影响分页的总数和分页的页数计算;比如他的总条数是直接忽视了你最后这个限制条数,OFFSET 0 ROWS FETCH NEXT #{taskNum} ROWS ONLY,在**外层再加一层select * ** 就可以解决这个问题。在使用分页插件时,如果sql的最后面跟着类似这个的sql。就是自己本身也有限制条数的逻辑;原创 2024-03-29 20:17:12 · 395 阅读 · 0 评论 -
SimpleDateFormat 时间解析出错 “YYYY“ “yyyy“有什么不同?
SimpleDateFormat 传入的参数大小写字母是有讲究的,踩过的坑是:解析年份出错看下图 Y 表示的是weak year,他是什么含义呢?jdk下面有案例,但是没有给到特殊情况,我也是看其他博客的描述,然后自己实验了一下,发现他的含义是这样的如果这一天所在的一周,跨年了,那这一天算是下一年的,月份和日不会变,只有年份会增多一年,所有会有那几天会解析错年份,注意:每周从周日开始这是jdk.18 开发手册里面 SimpleDateFormat 这个类传入参数的年月日具体含义代码测试packa原创 2022-03-02 11:05:37 · 473 阅读 · 0 评论 -
list与int[]互转,char转int
list转int[]ArrayList<Integer> list = new ArrayList<>();int[] arr = list.stream().mapToInt(Integer::valueOf).toArray();int[]转 listint [] arr = new int[10];List<Integer> list = Arrays.stream(arr).boxed().collect(Collectors.toList());原创 2021-10-09 19:40:14 · 156 阅读 · 0 评论 -
ConcurrentHashMap
并发环境下为什么使用ConcurrentHashMapHashMap在高并发的环境下,执行put操作会导致HashMap的Entry链表形成环形数据结构,从而导致Entry的next节点始终不为空,因此产生死循环获取Entry。HashTable虽然是线程安全的,但是效率低下,当一个线程访问HashTable的同步方法时,其他线程再访问它记得等锁释放,锁的粒度太大了。java 1.7 ConcurrentHashMap 数据结构图ConcurrentMashmap的一些主要字段:s原创 2021-05-26 22:15:56 · 106 阅读 · 1 评论 -
HashTable
HashTableHashTable是较为远古的使用Hash算法的容器结构了,现在基本已被淘汰,单线程转为使用HashMap,多线程使用ConcurrentHashMap。HashTable操作HashTable的操作几乎和HashMap一致,主要的区别在于HashTable为了实现多线程安全,在几乎所有的方法上都加上了synchronized锁,而加锁的结果就是HashTable操作的效率十分低下。HashTable与HashMap对比(1)线程安全:HashMap是线程不安全的类..原创 2021-05-26 17:30:41 · 54 阅读 · 0 评论 -
重载和重写区别
重载:发生在同一个类中,方法名相同,参数列表不同,返回值和访问范围可以不同,发生在编译时重写:发生在父子类中,返回值类型、方法名、参数列表 必须相同,访问范围大于等于父类,抛异常小于等于父类,如果父类private方法子类不能重写。重载错误例子:参数列表相同报错,与返回值无关...原创 2021-05-26 16:42:48 · 138 阅读 · 0 评论 -
JDK,JRE,JVM关系及java文件编译过程
java文件编译过程1、.java文件 通过javac编译后 变成 .class 文件.class文件2、.class文件 经过JVM 编译成二进制文件原创 2021-05-26 15:52:43 · 218 阅读 · 0 评论 -
String、StringBuilder与StringBuffer区别
一、Java String 类——String字符串常量简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,这样不仅效率低下,而且大量浪费有限的内存空间,所以经常改变内容的字符串最好不要用 String 。因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工转载 2021-03-28 15:02:22 · 182 阅读 · 0 评论 -
try catch finally return
一:如果返回值不是类对象结论:1、不管有没有出现异常,finally块中代码都会执行;2、当try和catch中有return时,finally仍然会执行;且finally是在 try或catch 的return后面的表达式运算后 才执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,不管finally中的代码怎么样,返回的值都不会改变,仍然是之前保存的值),所以函数返回值是在finally执行前确定的;3、finally中最好不要包含return,否则程序会提前退出,返回值不是try原创 2021-03-19 17:44:11 · 237 阅读 · 0 评论 -
普通类、抽象类和接口的区别
抽象类的总体概括:含有abstrct修饰词的类是抽象类。抽象类有构造器,但是它自身不可实例化,必须通过具体子类(子类实例化时才调用父类的构造器)。抽象类的成员方法有抽象的也有普通的,子类必须实现所有抽象方法。接口的总体概括:接口是绝对的抽象,可以说是抽象类的特例,但它没有构造器接口所有方法都是抽象方法,方法默认是public abstrct, 成员变量默认是 public static final抽象类和接口的异同1、抽象类有构造方法 ,而接口没有。2、抽象类和普通类一样可以定义各种访问原创 2021-03-16 17:43:21 · 4045 阅读 · 0 评论 -
Java集合框架主要内容
Java集合框架主要内容:1、集合框架的接口和类集合框架接口:集合框架中的类2、Collection体系集合Collection测试元素是Stringpackage collectionsFramework.collection;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;/** * Collection接口的使用 * (1)添加元素 * (2)删除 *原创 2020-11-24 21:55:24 · 221 阅读 · 1 评论 -
HashMap修改属性后访问不到或删除失败
HashMap修改属性后访问不到或删除失败以下是重写方法并测试的例子package collectionsFramework.map;import java.util.Objects;public class Student { private String name; private int stuNo; public Student(String name, int stuNo) { this.name = name; this.st原创 2020-11-20 01:35:33 · 227 阅读 · 0 评论 -
初学反射基本原理
反射:框架设计的灵魂* 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码* 反射:将类的各个组成部分封装为其他对象,这就是反射机制 * 好处: 1. 可以在程序运行过程中,操作这些对象。 2. 可以解耦,提高程序的可扩展性。* 获取Class类的方式: 1. Class.forName("全类名"):将字节码文件加载进内存,返回Class类 * 多用于配置文件,将类名定义在配置文件中。读取文件,加载类 2. 类名.class:通过类名的属性class获取 * 多用于原创 2020-11-15 00:59:25 · 202 阅读 · 0 评论 -
从购买腾讯服务器到docker部署springboot项目
从购买腾讯服务器开始到部署springboot项目原创 2020-10-30 00:16:29 · 881 阅读 · 0 评论 -
图解23种设计模式
图解23种设计模式创建型模式:1、单例模式2、工厂模式结构型模式:行为型模式:创建型模式:1、单例模式单例(Singleton)模式的定义:指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。单例模式有 3 个特点:1、’单例类只有一个实例对象;2、该单例对象必须由单例类自行创建;3、单例类对外提供一个访问该单例的全局访问点。单例模式的结构与实原创 2020-10-07 19:50:37 · 2406 阅读 · 0 评论