自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 二叉搜索树(BST)实现

二叉搜索树(BST)实现简单的二叉树实现,涉及添加节点,删除结点,删除要考虑重组树定义Node结点@Datapublic class Node<T> { private T no; private Node left; private Node right; public Node(T no) { this.no = no; } @Override public String toString() {

2022-05-23 19:08:03 356

原创 二叉树(B-Tree)实现

二叉树实现简单的二叉树实现,涉及添加左子节点,右子节点,删除子节点,删除只考虑整树删除,暂时不考虑升树,后面会出升树的实现定义Node结点@Datapublic class Node<T> { private T no; private Node left; private Node right; public Node(T no) { this.no = no; } @Override public Strin

2022-05-18 17:18:35 761 2

原创 No.66LeetCode加一

No.66加一【easy】算法说明开解算法说明给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/plus-one著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例1输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组

2022-05-16 18:31:52 283

原创 No.27LeetCode移除指定元素

No.27移除指定元素【easy】算法说明开解算法说明给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/remove-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出

2022-05-15 23:37:32 154

原创 No.26LeecCode删除有序数组中重复项

删除有序数组中重复项算法说明开解算法说明给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k 。不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1)

2022-05-15 16:39:44 91

原创 LeetCode5.15周赛删除异位词

删除异位词算法说明开解算法说明给你一个下标从 0 开始的字符串 words ,其中 words[i] 由小写英文字符组成。在一步操作中,需要选出任一下标 i ,从 words 中 删除 words[i] 。其中下标 i 需要同时满足下述两个条件:0 < i < words.lengthwords[i - 1] 和 words[i] 是 字母异位词 。只要可以选出满足条件的下标,就一直执行这个操作。在执行所有操作后,返回 words 。可以证明,按任意顺序为每步操作选择下标都会得到相

2022-05-15 16:30:47 162

原创 第二章 垃圾回收

对象生死前言在堆中存放的着Java世界中几乎所有的对象实例,垃圾收集器在对堆中进行回收前,需要判断哪些对象“存活”,哪些对象已经“死亡”(不可能再被任何途径使用)。引用计数法很多教科书判断对象是否存活的算法是这样的:在对象中添加一个计数器,每当有一个地方引用它时,计数器就+1;当饮用失效时,计数器就-1;当计数器为0时,则标示这个对象失去引用,成为一个死亡对象。客观的来说,引用计数法虽然占用了一些额外的内存空间,但是原理简单,判定效率很高,在大多数情况下都是一个不错的算法。但是在Java领域,主流

2021-05-10 22:32:55 422 2

原创 Mac编译openJDK11

环境MacOS Bigsur 11.2.3Xcode12.5(不需要额外下载command line tools,这玩意不是早就集成了吗)HomeBrewCLion 2019.3.bash_profile不需要做额外配置(重装了一次系统 我这还没配置.bash_profile)编译用Bootstrap jdk11,之前安装好的jdk8不用管,不冲突,这里如果你想编译12的jdk,本机至少要准备11的jdk环境,非常不推荐编译jdk8,非常不推荐编译jdk8,非常不推荐编译jdk8坑实在是太多,

2021-05-10 20:04:06 383

原创 第一章 Java内存区域

目录1.内存模型2.对象创建2.1 对象内存布局2.2对象分访问定位1.内存模型1.程序计数器,线程私有区域,占用空间较小,主要记录当前线程所执行的字节码的行号指示器。由于java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的(意思就是在任何一个确定的时刻,一个处理器,都只会执行一个线程中的指令),因此在多线程切换后为了确保程序能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,并且相互隔离。2.栈,一般说栈都是指虚拟机栈,线程私有区域,生命周期和线程相同,栈主要描述的是

2021-05-08 11:29:16 205

原创 设计模式之原型设计模式

原型设计模式原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。说起原型设计模式,必然离不开浅拷贝和深拷贝,提前剧透,浅拷贝对于引用对象的属性,拷贝前后

2021-01-25 17:07:31 174

原创 排序算法之快速排序

//尝试着手写,写出来的东西多多少少有点问题,不纠结了,凑合着用吧//此处哨兵j为什么要第一个走有空了写一个快排的专题public class Quick { public static void sort(int[] arr, int L, int R) { if (L >= R) { return; } int left = L; int right = R; int mid =

2021-01-21 21:27:27 82

原创 JPA基础查询扩展

需要引入Hutool包 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.6</version> </dependency>@Slf4j

2021-01-21 18:20:23 365

原创 排序算法之插入排序

插入排序//插入排序,插入排序简单理解为,从第二个数开始,我们称第二个数为被插数,先使用一个临时变量存储被插数//然后将用临时变量和前面的数比较,如果大于前面的数,则不管跳出循环,否则,将前面的数后移一位//说是后移,其实在数组中体现的是将第前面的数赋值给被插数,本质上是将前数赋值给被插数,然后在向前比较,直到前数不在大于或者前数下标为0收手//最后判断临是否等于被插数,如果不等则说明发生移位,相等则说明没发生//这里就出现很多人不理解为什么num要赋值给j+1,因为每次比较j都是在前面的一个数字

2021-01-21 17:55:29 74

原创 环形队列实现

/** * @Author: Lzy * @Desc: 数组实现环形队列,数组实现的 简单队列有一定的缺陷,仅仅是移动指针,并没有释放数据,会造成内存的浪费 * 环形队列就是解决这个问题出现的,但是判空和判满有一些差别。判空不再是ref==font,判满也不再是font+1==size了 * @Date: 2021/1/16 18:03 */public class ArrayQueue2 { //定义队列长度 private int size; //定义头指针,头指

2021-01-21 11:46:01 221

原创 简单队列实现

简单队列实现@Datapublic class ArrayQueue { //队列长度 private int size; //头指针 private int font; //尾指针 private int ref; //数组 private int[] arr; public void init(int maxSize) { size = maxSize; arr = new int[ma

2021-01-21 11:44:37 91

原创 双向链表实现

双向链表代码实现//节点定义@NoArgsConstructor@ToStringpublic class Node { public int value; public String name; public Node next; @ToString.Exclude public Node pre; public Node(int value) { this.value = value; } public

2021-01-21 11:35:43 71

原创 单链表实现

单链表实现public class SingleList { //虚拟头节点 private static Node head = new Node(0, 0); //添加节点 public static void add(Node node) { Node cur = head; while (true) { if (null == cur.next) { cur.next = node

2021-01-21 11:30:46 91 1

原创 算法之八皇后

八皇后public class EightQueen { //定义一个数组,下标为行数,0-7行(对应棋盘1-8行),值为列数 private static int[] arr = new int[8]; //计数器 private static int count=0; //n为第几个皇后,0序(对应棋盘+1),也是行数 public static boolean check(int n) { //将第n个皇后与之前放置的皇后进行位

2021-01-21 11:26:32 83

原创 算法之单链表反转

Leetcode 206 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULLpublic class list_206 { public ListNode reverseList(ListNode head) { ListNode cur = head; ListNode pre = null; whi

2021-01-21 11:25:04 97

原创 排序算法之选择排序

排序算法之选择排序//选择排序的原理在于,假定数组第一个数为最小,从第二位数字依次向后遍历,//如果发现有比第一个数更小的,则交换位置//循环一次后,最小的数则置于第一位,第二轮遍历则假定第二个数字最小,//从第三个数字依次向后遍历,直到循环结束,选择排序就算完成public class Select { public static void sort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) {

2021-01-21 11:19:28 85

原创 设计模式之单例模式

单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。饿汉式//饿汉式,使用static机制在类初始化时便产生一个对象//但是这种机制会浪费内存,不太提倡使用这种用法public class Hunger01 { //构造器私有化

2021-01-15 14:46:46 81

原创 设计模式之工厂模式

Q:什么是工厂模式A:工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。Q:工厂模式有哪些优点A:用户将创建对象的权利交给工厂,用户自己不用关心工厂的流水线操作是怎样进行的,用户只需要使用工厂对象便可以得到产品对象,换句话说上层不必知道底层的具体实现原理和过程,只需更多的关注自己的业务逻辑即可Q:工厂模

2021-01-14 18:09:09 196

原创 Mac无法启动Nacos

nohup: /Library/Internet: No such file or directory学习一下nacos,刚开始就遇到问题,原因是mac升级到bigsur后,nacos中startup.sh启动失败导致,找到nacos中start.out日志记录nohup: /Library/Internet: No such file or directory简单描述一下原因,mac自带有一个jdk,如下图所示有两个,第一个就是系统自带的。而第二个才是自己安装的jdk问题的关键就在于第一个Int

2020-12-16 23:05:09 6906 7

原创 基于aspose的word转pdf实现

基于aspose的word转pdf实现项目上要用到word转pdf预览,由于是内网项目无法连接外网,市面上比较流行的一些产品都无法使用,找了几天总结一下,无外乎就以下这些方式aspose 操作简单,实现方便,学习版方便找OpenOffice 操作麻烦,致命缺陷是只能在windows环境运行,代码中需要起cmdSpire.Doc 操作简单,实现方便,但是免费版有水印而且限制篇幅,能找到学习版也是可以的其他的就不列举了,要不就是操作巨麻烦,要不就是质量太差,谨慎使用就行了Utilimport

2020-10-23 11:42:31 2251

原创 JPA返回自定义Vo

JPA返回自定义VO最近做项目用到了JPA,很多地方需要返回自定义vo,最开始用@Query注解返回自定义List<Objec[]>,在用forEach遍历存入List实在是不方便,找了一些资料做下笔记。一般需要返回自定VO都是做连表动态查询,下面直接贴测试代码User(Entity)@Data@Entity@Table(name = "jpa_user")@AllArgsConstructor@NoArgsConstructor@Accessors(chain = true)

2020-07-22 11:00:10 2129

原创 Springboot+Nginx实现伪图片上传

Springboot+Nginx实现简易图片上传研究了一下图片上传功能,随笔记录一下实现过程,很简陋,很多地方可以完善,建议自由发挥Nginx配置#图片存放位置 server{ listen 80; server_name www.img.com; location / { root G:/exingImg; } }host配置127.0.0.1 ...

2020-03-31 00:47:21 611

原创 idea中@Table注解报错can not resolve table

idea中@Table注解报错can not resolve table初学idea,跌跌撞撞,记录一下遇见的坑初学idea,跌跌撞撞,记录一下遇见的坑在idea中创建实体类使用@Table注解时,@Table(name=“user”)一直报错,提示 can not resolve table ‘user’,在eclipse中没遇到这情况,那是因为idea比较智能(笑),如果不在idea中连接...

2020-03-17 16:47:56 9947 10

原创 算法之整数反转

算法之整数反转最近在刷LeetCode记录一个沙雕的日常把自己笑哭的操作好了,下面解题终极笨逼脑瘫解法用字符串+char数组解决为什么是终极笨逼脑瘫解法呢,因为这种解法有投机取巧的成分 public int rese(int x) { boolean flag = false;//插旗 if (x > 0) { flag = true;//x如果是正数,修改fl...

2019-11-30 14:12:12 184

原创 SSM实现简单登录注册

SSM实现简单登录注册重构了一下以前的SSM登录注册案例,SSM的三大核心IOC,AOP,DI不用多说,网上随便翻一下都有 ,本篇直接上手,使用Maven工程搭建一个简单的SSM框架实现简单的登录注册,验证重名功能,适合刚上手的朋友看看数据库就不贴了,俩字段,username和userpwd,指定username为主键项目结构图web.xml配置文件<?xml version="...

2019-11-22 21:18:49 9150 3

原创 排序算法之二分法

二分法package lzzy;public class ErFenFa { // 递归二分法查找 public int RunOfRe(int[] a, int start, int end, int flag) { int mid = (end - start) / 2 + start; if (flag > a[mid]) { return RunOfRe(a,...

2019-10-16 15:21:43 190

原创 排序算法之冒泡排序

冒泡排序`public class MaoPao { // 左冒泡升序排序 public int[] LeftSort(int[] a) { for (int i = 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if (a[j] < a[j - 1]) { ...

2019-10-16 15:17:15 73

原创 初学SSM实现简单登录注册实例

初学SSM试着做了个登录注册实例检验一下,顺便把代码搬上来了废话不多说直接撸数据库版本:mysql-8.0.13(版本较高,jar包和一些语法会有出入)开发工具:Eclipse整体结构libs不是全部的包都要用到,当时图省事就全弄进来了数据表俩字段,很简单,只是方便测试CREATE TABLE test ( name varchar(20) NOT NULL, pwd...

2019-05-10 13:15:16 4325 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除