自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基础知识总结

不需要,抽象类不一定非要有抽象方法。当线程 A 持有独占锁a,并尝试去获取独占锁 b 的同时,线程 B 持有独占锁 b,并尝试获取独占锁 a 的情况下,就会发生 AB 两个线程由于互相持有对方需要的锁,而发生的阻塞现象,我们称为死锁。反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。

2022-12-30 22:18:01 250 1

原创 POJO、VO、DTO、Entity、Domain的区别

POJO、VO、DTO、Entity、Domain的区别POJO简单的Java对象,原生对象VO视图对象,HTML JSPDTODTO Data Transfer Object 数据传输对象(为了简化对象)EntityEntity 实体类 数据库 ORM(为了和数据库的映射关系)Domaindomain 领域模型 (银行、保险、电商、物流、医疗等领域,每个领域对对象的看法不一样,领域专家需要设计领域模型,开发以领域模型为基准。DDD(领域驱动设计))...

2022-03-27 11:35:02 4660

原创 位运算详解

左移运算符运算符 <<定义用来将一个数的各二进制位全部左移若干位,移动的位数由右操作数指定,右操作数必须是非负值,其右边空出的位用0填补,高位左移溢出则舍弃该高位。(此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况。)用来将一个数的各二进制位全部左移若干位。例如:例子一:将a的二进制数左移2位,右补0。若a=15,即二进制数00001111,左移2位得00111100,即十进制数60(为简单起见,用8位二进制数表示十进制数15,如果用16位二进制数表示,结果是一样的)。

2022-03-26 17:22:00 1116

原创 详解Object中的equals方法和hashcode方法

Object中提供的equals方法是默认比较的是两个对象的引用地址重写equals方法可以改写比较规则Objects的equals方法介绍:如果两个对象相等就返回true,如果一个为null就返回false,如果两个都是null则返回false。 public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); } ```

2022-03-25 00:42:43 930

原创 rabbitmq的延迟队列

参考资料:rabbitmq的延迟队列

2022-03-08 22:36:16 1566

原创 三元运算符详解

三元运算符是if else 语句的简写1、三元运算符的好处:1、运算完要有值出现,可以写在其他表达式中 public static void main(String[] args) { boolean bo = true; boolean ao = false; boolean co = true; if (bo ? ao : co) { System.out.println("打印...");

2021-12-09 17:28:32 2228

原创 oracle修改timestamp字段类型的属性

参考:1、Oracle触发器用法实例详解2、ORACLE----TimeStamp(时间戳)自动更新3、mysql更新记录时设置自动更新时间戳4、MySQL 中 datetime 和 timestamp 的区别与选择

2021-11-28 21:55:58 675

原创 闲暇时间需要学学的知识点

1、mysql中建库时候的字符集和排序规则

2021-11-10 15:39:10 551

原创 mysql中的中间表的作用

一、保证数据的完整性主表(主键所在的表)里的数据要删除,必须删除从表(外键所在的表)的对应关系的数据才可以成功删除。二、多对多,起到关联关系比如学生表、课程表、学生_课程表(中间表)。该中间表表明一个学生有多门课程,一门课程有多名学生的多对多关系。三、一致性中间表(从表)的外键由于和主表的主键是依赖关系,所以在中间表(从表)添加数据的时候,必须在主表中存在的数据才能添加。四、一张表可以有多个主键吗?1、数据库的每张表只能有一个主键,不可能有多个主键。2、所谓的一张表多个主键,我们称之为联合主

2021-11-09 20:29:13 4755

原创 Java循环中的break和continue以及它的标签

参考资料:1、Java标签在循环中的使用1、break是终止当前循环,如果有外层循环,则继续执行外层循环。2、continue是跳过本次循环,继续执行下一次循环。3、continue : laberl 是4、break : laberl

2021-10-21 20:22:02 133

原创 Java代码打开超链接并跳转链接地址

//方式一:import java.awt.Desktop;Desktop desktop = Desktop.getDesktop(); URI uri = new URI("http://www.baidu.com"); //创建URI统一资源标识符desktop.browse(uri); //使用默认浏览器打开超链接 //方式二//Eclipse运行时需将jdic.dll、tray.dll放置到Java\jdk1.6.0_10\jre\bin目录//并依赖log4j配置文件imp

2021-08-05 18:56:34 2208

原创 15 | 二分查找(上):如何用最省内存的方式实现快速查找功能?

一、二分查找针对一组有序数据集合的查找算法。通过一个例子来说明二分查找思想

2021-07-27 22:28:45 263

原创 14 | 排序优化:如何实现一个通用的、高性能的排序函数?

一、如何选择合适的排序算法?

2021-07-26 17:32:32 82 1

原创 13 | 线性排序:如何根据年龄给100万用户数据排序?

今日内容1、桶排序 2、计数排序 3、基数排序这些排序算法的时间复杂度是线性的(原因是这三个算法是非基于比较的排序算法,都不涉及元素之间的比较操作。),所以我们把这类排序算法叫作线性排序(Linear sort)这三种排序算法的时间复杂度是 O(n)一、桶排序(Bucket sort)核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序。桶内排完序之后,再把每个桶里的数据按照顺序依次取出,组成的序列就是有序的了。...

2021-07-16 18:00:59 177

原创 int类型和小数的那些莺莺燕燕

int 类型 和 int类型 计算得到的值如果有小数,则会自动将小数部分省略掉。(不遵循四舍五入)如果用double去接收上面的结果,也是一样的。只不过多了一位小数.0。

2021-06-17 10:20:14 1117

原创 12 | 排序(下):如何用快排思想在O(n)内查找第K大元素?

参考资料:1、2、一、前言上一节我讲了冒泡排序、插入排序、选择排序这三种排序算法,它们的时间复杂度都是 O(n2),比较高,适合小规模数据的排序。今天,我讲两种时间复杂度为 O(nlogn) 的排序算法,归并排序和快速排序。这两种排序算法适合大规模的数据排序,比上一节讲的那三种排序算法要更常用。二、归并排序的原理2.1、分治思想归并排序使用的就是分治思想。分治,顾名思义,就是分而治之,将一个大问题分解成小的子问题来解决。小的子问题解决了,大问题也就解决了。分治思想跟我们前面讲的递归思想很像

2021-06-16 18:02:23 102

原创 10 | 递归:如何用三行代码找到“最终推荐人”?

==

2021-06-07 18:02:42 350

原创 09 | 队列:队列在线程池等有限资源池中的应用

一、问题引出今天的内容当我们向固定大小的线程池中请求一个线程时,如果线程池中没有空闲资源了,这个时候线程池如何处理这个请求?是拒绝请求还是排队请求?各种处理策略又是怎么实现的呢?二、如何理解“队列”?队列这个概念非常好理解。你可以把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的“队列”。队列跟栈一样,也是一种操作受限的线性表数据结构。最基本的操作也是两个:入队 enqueue(),放一个数据到队列尾部; 出队 dequeue(),从队列头部取一个元素。2

2021-06-04 11:36:42 212

原创 在JAVA语言中,++在前和++在后有什么区别?

参考资料:在JAVA语言中,++在前和++在后有什么区别?a = b++; // ++写在后面,说明前面那个东西前用了,也就是b先赋值给a了,然后b再+1a = ++b; // ++写在前面,说明++先有效,即b要+1,然后赋值给a...

2021-06-02 13:53:07 1021

原创 5 个常见的链表操作——代码示例

单链表反转链表中环的检测两个有序的链表合并删除链表倒数第 n 个结点求链表的中间结点一、单链表反转1.1、单链表反转——递归法参考资料:leetcode 206 号算法题:反转单链表【数据结构与算法】public class PeopleTest { public static void main(String[] args) { Node head = new Node(2); Node node1 = new Node(3);

2021-06-01 16:14:02 141

原创 08 | 栈:如何实现浏览器的前进和后退功能?

一、如何理解“栈”?后进者先出,先进者后出,这就是典型的“栈”结构。从栈的操作特性上来看,栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。

2021-05-27 17:06:41 291

原创 07 | 链表(下):如何轻松写出正确的链表代码?

一、编写链表代码技巧1、技巧一:理解指针或引用的含义1.1、指针概念有指针概念的语言相当于没有指针概念的语言的引用,意思都是一样的,都是指存储所指对象的内存地址。实际上,对于指针的理解,你只需要记住下面这句话就可以了:将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到这个变量。1.2、编写链表代码的时候,常见的代码1、p->next=q。这行代码是说,p 结点中的 next 指针存储了 q 结点的内存地

2021-05-27 15:47:34 67

原创 06 | 链表(上):如何实现LRU缓存淘汰算法?

一、经典的链表应用场景,那就是 LRU 缓存淘汰算法。

2021-05-25 23:00:17 94

原创 距离当前时间的日期sql

SELECT DATE_FORMAT( SUBDATE( NOW(), INTERVAL help_topic_id MONTH ), '%Y-%m-%d' ) FROM mysql.help_topic WHERE help_topic_id < 12

2021-05-25 18:18:09 342

原创 json字符串和对象、list、数组、map的互转

参考资料:json字符串和对象、list、数组、map的互转

2021-05-24 11:36:55 50

原创 导包的规则

导入类的时候,是只能导入当前包,或者当前包下的类吗?

2021-04-29 18:04:38 76

原创 mysql判断非空的函数与应用场景

参考资料:mysql中的字符串判断语句(非空判断替换转换)mysql的coalesce使用技巧一、判断非空的函数名函数名说明ISNULL(expr)如果expr为null返回值1,否则返回值为0IFNULL(expr1,expr2)如果expr1值为null返回expr2的值,否则返回expr1的值NULLIF(expr1,expr2)如果expr1==expr2返回值为null,否则返回expr1的值;相当于case when expr1=expr2 then

2021-04-15 15:44:45 3700

原创 mysql的临时表和临时变量

参考资料:mysql @和@@

2021-04-08 12:14:19 194

原创 主动抛出的异常的样子

异常中有Throw$1.eval(Throw.java.50),说明这是java中主动抛出的异常。

2021-04-06 18:04:39 50

原创 05 | 数组:为什么很多编程语言中数组都从0开始编号?

ddd

2021-04-02 21:46:44 69

原创 postman开始到精通

2021-03-25 20:10:23 56

原创 hive数据仓库

基于Hadoop的一个数据仓库

2021-03-17 17:51:48 52

原创 浅析最好、最坏、平均、均摊时间复杂度-----复杂度分析(下)

四个复杂度分析方面的知识点先看一下这个代码 public static void main(String[] args) { int[] arr = new int[]{23, 38, 19, 2, 39}; int i = find(arr, 5, 19); System.out.println(i); } // n表示数组array的长度,x需要在数组中找的值 static int find(int[] array, i

2021-02-28 15:49:34 473

原创 sql中的字符串在where后的使用

一、怎么将字符串改为数字进行范围的比较?

2021-02-09 16:25:56 1078

原创 算法系统学习-----复杂度分析(上)

一、

2021-02-03 17:52:34 53

原创 云原生架构进阶

部署架构历史物理机 ------> 虚拟机 ------> docker ------> CI/CD技术架构历史单体应用 ------> 紧耦合 ------> SOA ------> 微服务一、云原生的三大核心能力容器、微服务、DevOps

2021-02-02 16:33:05 98

原创 Lambda表达式替换内部类了吗?

一、1.8java出了Lambda表达式后,基本不用内部类了吗?

2021-02-01 17:40:18 119

原创 让小白看懂【云计算】

一、云计算的三种模式iaas -------> paas -------> saas1、iaas提供服务器的基础服务的租赁2、paas不仅提供服务器的基础服务,还提供一些基础功能例如:阿里云、腾讯云…3、saas提供完整的产品例如:百度网盘、小米云等...

2021-02-01 17:37:23 2536

原创 算法之排序算法-宋词记忆法2

一、什么是排序问题?将没有顺序的东西,按照一定顺序排好二、选择排序最简单但是最没用的排序算法,也有优化空间算法的基本概念:如何计算时间和空间复杂度算法的验证 - 随机数据生成器、对数器写算法程序的哲学...

2021-01-25 18:13:27 81

原创 算法之基本概念1

编程是一个工程学科,能做出东西要比死机概念强,尽量将概念通俗、简化。1、什么是数据结构(Data Structure)?存储数据的不同方式2、什么是算法?同一问题的不同的解决方法一般是针对特定的数据结构3、如何测算算法的优劣?3.1、时间测算计算算法时间差幅度不够循环来凑(如果时间差较小,不容易比较。)3.2、空间测算随着空间度增加,时间也增加4、在学术上,怎么看算法的优劣?(Big O标记法)4.1、时间随着数据(问题)规模增加是怎么变化的?(时间复杂度)eg:访问数组某个位

2021-01-25 14:04:27 57

空空如也

空空如也

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

TA关注的人

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