自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(249)
  • 资源 (1)
  • 收藏
  • 关注

原创 java基础知识总结 - 导航

列出一个java基础知识的导航,边学习边记录,方便回顾复习。现在准备使用这个格式:https://www.liaoxuefeng.com/wiki/1252599548343744/1306580867874849序号 总目录 子目录1 子目录2 java概述 基础语法 数据类型 编...

2020-04-03 16:07:28 854

原创 单元测试mock和spy的区别

tip

2022-10-09 17:03:54 1434 1

原创 sql: group by 某个字段之后如何将某个字段以逗号拼接起来

场景如图,有一张基于pgsql的数据库表结构如下:现在想按照value进行分组,并且取出每一个value关联的所有resource_id。解决方法这个需求需要一个类似于树形的查询结果,我们可以把每个value关联的所有resource_id以某种当时拼接起来,只要自己能够找到相应方式拿出来用就行了。经过查询pgsql支持的聚合查询,找到一个函数:聚合函数:string_agg(resource_id, ',')在数据库运行以下sql:select value, stri

2022-05-24 16:22:27 3815

原创 fastjson 循环引用 出现 $ref: “$.“的解决办法

参考:fastjson JSONObject.toJSONString 出现 $ref: "$."的解决办法(重复引用) - AmbitiousMice - 博客园j解决:1.循环里面每次新创建一个对象,然后再复制;2.设置不检查;

2021-09-13 12:31:14 347

原创 tip-通过web前端界面查看后端调用的相关API信息

今天主管布置了一个任务:进入已经发布的web开发版本页面,然后结合git上的项目源码,将页面功能点和源代码相对应,梳理一下相关功能点的业务逻辑和代码逻辑。之前没有遇到过,所以记录一下。1、通过web前端页面url获取后端开发api相关信息 1)通过点击相应界面,按f12,查看network,可以看到网页请求的header,从中可以看到具体方法的url、入参、返回参数等信息; 2)在idea中使用restfultoolkit插件实现通过url查找相应源码(快捷键ctrl + \);...

2021-07-26 15:32:36 2057

原创 git整体理解+基本常见操作

1、git的整体理解如图所示,git的操作对象主要有四个: Workspace:工作区(idea中编译) Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 命令就是针对文件在这几个对象之间进行操作而设定的。2、git的常用操作附一个网站:https://www.runoob.com/git/git-basic-operations.html常用命令:https://www.zhihu.com

2021-07-16 15:28:56 101

原创 每日算法- 贪心算法-两地调度

目录题目思路微观宏观代码复杂度题目公司计划面试 2N 人。第 i 人飞往 A 市的费用为 costs[i][0],飞往 B 市的费用为 costs[i][1]。返回将每个人都飞到某座城市的最低费用,要求每个城市都有 N 人抵达。示例:输入:[[10,20],[30,200],[400,50],[30,20]]输出:110解释:第一个人去 A 市,费用为 10。第二个人去 A 市,费用为 30。第三个人去 B 市,费用为 50。第四个人去 B 市,费用

2021-05-15 17:25:51 270

原创 希尔排序-转发

https://zhuanlan.zhihu.com/p/73726253代码似乎有误,不做参考。

2021-04-19 15:49:41 89

原创 spring原理面试题总结

目录1、什么是 Spring 框架?Spring 框架有哪些主要模块?2、使用 Spring 框架能带来哪些好处?3、什么是控制反转(IOC)?什么是依赖注入?4、请解释下 Spring 框架中的 IOC?5、BeanFactory 和 ApplicationContext 有什么区别?6、Spring 提供几种配置方式来设置元数据?7、如何使用 XML 配置的方式配置 Spring?8、如何用基于 Java 配置的方式配置 Spring?9、怎样用注解的方式配置 Spr

2021-02-26 10:35:06 617

原创 Spring IoC原理 -- 转载

文章:Spring IOC原理总结总结Spring IOC容器主要有继承体系底层的BeanFactory、高层的ApplicationContext和WebApplicationContext Bean有自己的生命周期 容器启动原理:Spring应用的IOC容器通过tomcat的Servlet或Listener监听启动加载;Spring MVC的容器由DispatchServlet作为入口加载;Spring容器是Spring MVC容器的父容器 容器加载Bean原理:BeanDefiniti

2021-02-26 10:30:58 122

原创 spring AoP的关键点(含术语解释)

参考:Spring的面向切面编程(AOP)

2021-02-26 10:21:19 307

原创 spring实现事务的几种方式

目录引言例子引言spring框架中如何开启事务呢?本文将简单总结一下。主要方式有以下4种:1. 编程式事务管理,基于POJO的应用来说是唯一选择。需要在代码中调用 beginTransaction() commit() rollback()等事务管理相关的方法。 2. 基于TransactionProxyFactoryBean的声明式事务管理; 3. 基于@Transactionl的声明式事务管理; 4. 基于Aspectj AOP配置事务。例子具体参考文章。以后再自己总

2021-02-26 10:14:57 943

原创 JVM的内存划分

目录JVM的内存划分JVM的内存划分另外可参考:https://zhuanlan.zhihu.com/p/336958119程序计数器(Program Counter Register)。在JVM规范中,每个线程都有自己的程序计数器。这是一块比较小的内存空间,存储当前线程正在执行的Java方法的JVM指令地址,即字节码的行号。如果正在执行Native方法,则这个计数器为空。该内存区域是唯一一个在Java虚拟机规范中没有规定任何OOM情况的内存区域。Java虚拟机栈(Jav.

2021-02-25 21:57:47 104 2

原创 视图

目录视图定义视图意义创建视图语法视图定义视图(View)并不在数据库中实际存在,而是一种虚拟表,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。即视图就是执行查询语句后所返回的结果集,所以在创建视图的时候,主要就是创建这条SQL查询语句。对于普通的数据表来说,视图具有以下的一些特点:1、简单:因为视图是查询语句执行后返回的已经过滤好的复合条件的结果集,所以使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件。2、安全:使用视图的用户只能访问

2021-02-25 21:37:42 802

原创 数据库索引的一些问题-转载

作者:路人zhang链接:https://juejin.cn/post/6911532527605776391来源:掘金目录什么是索引?索引的优缺点?索引的数据结构?B+树索引哈希索引Hash索引和B+树索引的区别?索引的类型有哪些?索引的种类有哪些?B树和B+树的区别?数据库为什么使用B+树而不是B树?什么是聚簇索引,什么是非聚簇索引?非聚簇索引一定会进行回表查询吗?索引的使用场景有哪些?索引的设计原则?如何对索引进行优化?如何创建/

2021-02-25 21:29:10 207

原创 虚拟机类加载机制

目录引言类加载的周期类加载器类与类加载器双亲委派模型破坏双亲委派模型引言如前文所述:java中.class文件的一些知识Class文件(本质是一串具有特定格式的二进制流)一旦生成,JVM如何加载这些文件呢?这就需要讲到虚拟机的类加载机制。类加载机制定义:虚拟机把描述类的数据从Class文件中加载到JVM内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。类加载的周期notes:五个确定顺序步骤:其中颜色标注的步骤,顺序确定

2021-02-25 21:09:35 105

原创 JVM中的垃圾回收算法总结

引言与c++相比,java的内存管理依托于JVM,而不是依托于程序员直接管理。关于在JVM中垃圾回收的内容,本文做一个简单的总结,供自己查阅。目前内存的动态分配和内存回收技术已经相当成熟。为什么还需要去了解GC和内存分配呢?因为:当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,就需要对这些看起来很自动化的技术进行必要的监控和调节。JVM中运行时区域中,程序计数器、虚拟机栈、本地方法栈这3个区域随着线程生而生,线程灭而灭,因此基本上随着方法结束或者线程结束,相应的

2021-02-25 17:31:57 97

原创 InnoDB引擎原理总结

目录引言关键点参考文章:一文了解InnoDB存储引擎引言InnoDB是能够保证事务安全的MySQL存储引擎。主要特点是:支持行锁; 支持MVCC; 支持外键; 提供一致性非锁定读; 被设计用来有效利用以及使用内存和CPU;关键点详细参考文章,以及《mysql技术内幕》第二章内容。这里主要通过关键词记录关键点。内存池(缓冲池)本质:本质上是一块内存区域,因为在读写的速度:内存>磁盘,所以用内存来弥补磁盘速度慢的缺陷。具体:在数据库中读取页的操作时,首先将

2021-02-24 20:44:09 369

原创 IOC中对象的创建、获取

目录IOC创建对象?BEAN有两种构造方法 ---- 有参构造 + 无参构造。获取IOC创建的对象?IOC与依赖注入?(DI)常规依赖注入的三种方式?IOC创建对象?在Spring中,是在 spring.xml 中配置 bean 标签,IoC 容器通过加载 bean 标签来创建对象的。BEAN有两种构造方法 ---- 有参构造 + 无参构造。无参构造<bean id=”stu” class=”xyz.hahatomato.entity.Student”<

2021-02-05 11:40:02 361

原创 修改idea内存配置,优化速度

不时会用到,马克一下。目录修改IDEA内存的大小(2种方式)参数解释修改IDEA内存的大小(2种方式)第一种: Help -> Edit Custom VM options打开编辑窗口->修改参数->重启第二种:用编辑器打开IDEA的安装目录bin文件夹里idea64.exe.vmoptions的配置文件,然后修改参数参数解释-Xms: 最小堆内存-Xmx: 最大堆内存-XX:ReservedCodeCacheSize:是设置代码缓存的最大值我的

2021-02-01 15:34:25 360

原创 java中.class文件的一些知识

目录引言class类文件的结构class文件的生存周期结语引言class文件即是字节码(字节码是一种能够在所有平台统一使用的程序存储格式)文件,其本质是供JVM进行编译包含特定格式二进制流的磁盘文件,这是实现java跨平台编译的基础之一(另一个基础就是JVM)。在程序编译的流程上,其来源具有多源性(可能是多种语言(如java程序、JRuby程序、Groovy程序、其他等),实现了JVM的跨语言编译),class文件是提供给JVM进行编译的文件;在文件内容上,其保存的是Java

2021-02-01 11:18:24 299

原创 Linux 绝对路径和相对路径

参考:https://www.cnblogs.com/jpfss/p/10985619.html

2020-12-24 16:38:43 109 1

原创 mybaties分页查询

使用mybatis做对象与数据库的连接管理的时候,需要对数据进行分页查询,记录一下。参考文章:MyBatis之分页查询:MyBatis PageHelper

2020-12-12 15:17:28 141

原创 java中锁 - 总结

参考文章:java中的锁目录公平锁 / 非公平锁可重入锁 / 不可重入锁独享锁 / 共享锁互斥锁 / 读写锁乐观锁 / 悲观锁分段锁偏向锁 / 轻量级锁 / 重量级锁自旋锁公平锁 / 非公平锁公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java ReentrantLock而言,通过构造函数指定该锁是

2020-10-23 17:43:15 144

原创 java 内存

参考:https://zhuanlan.zhihu.com/p/427179131、运行时数据区程序计数器 java虚拟机栈 本地方法栈 堆 方法区 运行时常量池2、创建对象3、堆内存中的垃圾回收:1)图解垃圾回收机制2)采用的垃圾回收算法:JVM的4种垃圾回收算法、垃圾回收机制与总结...

2020-10-22 15:21:08 74

原创 怎么理解spring?

1、关于控制反转 ioc控制反转:所谓的控制反转。通俗地讲,就是把原本需要程序员自己创建和维护的一大堆bean统统交由Spring管理。 总体思想:类似于有一个具有全局视角的boss(IOC容器),减弱了之前一层一层的强依赖,降低了耦合度。不再通过 new 关键字来创建对象,而是通过 IoC 容器(Spring 框架) 来帮助我们实例化对象。我们需要哪个对象,直接从 IoC 容器里面过去即可。 具体如何使用:如果在程序中需要某个对象,可以使用@Autowird注解,IOC容器就会生成这个对象,...

2020-10-10 10:23:48 214

原创 hashmap 21问

目录1、HashMap 的数据结构?2、HashMap 的工作原理?3、当两个对象的 hashCode 相同会发生什么?4、你知道 hash 的实现吗?为什么要这样实现?5.为什么要用异或运算符?6.HashMap 的 table 的容量如何确定?loadFactor 是什么?该容量如何变化?这种变化会带来什么问题?7.HashMap中put方法的过程?8.数组扩容的过程?9.拉链法导致的链表过深问题为什么不用二叉查找树代替,而选择红黑树?为什么不一直使用红黑树?10

2020-10-06 10:14:38 155

原创 关于二叉树、平衡二叉树、红黑树

目录1、二叉树缺点2、平衡二叉树3、为什么有了平衡二叉树,还要红黑树?参考文章:记一次腾讯面试:有了二叉查找树、平衡树(AVL)为啥还需要红黑树?1、二叉树缺点二叉查找树,相信大家都接触过,二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大,如图缺点:一般情况下,查找基于二分查找,查找的时间复杂度为O(logn); 当二叉树不够平衡,甚至退化成类似链表结构的时候,查找的时间复杂度为O(n)。耗时。2、平衡二叉树平衡二叉树就是为了解决

2020-10-05 18:04:02 997

原创 http中session和cookie的区别和关系

目录1、session?2、cookie?3、Cookie 和 Session 有什么不同?4、为什么需要 Cookie 和 Session,他们有什么关联?5、如果浏览器禁止了cookie怎么办?6、如何考虑分布式 Session 问题?7、如何解决跨域请求?Jsonp 跨域的原理是什么?参考:90%程序员面试时都没有完全答对Cookie和Session的区别1、session?定义:给用户分发的会话标识(session ID),用于区分用户。Session 代表.

2020-10-04 15:52:15 402

原创 hashmap 1.8 就是线程安全的吗?

参考:HashMap1.8与ConcurrentHashMap1.8线程安全比较1、HashMap初始化时;2、在向null节点添加元素时3、在对同一个数组中的元素操作时。4、数组扩容时出现的线程安全问题。

2020-09-25 19:59:25 680

原创 mysql事务隔离级别及原理

参考:https://zhuanlan.zhihu.com/p/1174769591、事务:数据库逻辑的基本单元,ACID;2、mysql默认隔离级别--可重复读:对于其他事务的修改,读不到;对于其他事务的新增,能读到 -->幻读--->mysql解决幻读办法:行锁 + 间隙锁(有索引的、没索引的)3、mysql如何解决幻读 +总结几种隔离级别如何出现的逻辑:mysql在RR的隔离级别下,究竟是通过MVCC解决幻读的还是通过行锁的next key算法解决的? - yan.

2020-09-25 12:53:07 125

原创 Spring事务管理接口 + 实例

面试经常问到关于Spring事务的问题,包括怎么开启,开启原理等。现整理总结如下。1、Spring事务简介参考之前写的文章:Spring事务整理篇2、Spring开启事务的主要接口介绍Spring事务抽象一共有3个主要接口,他们都在org.springframework.transaction包下。TransactionDefinition:负责定义事务相关属性,包括隔离级别、传播行为等。 PlatformTransactionManager:是Spring事务框架的核心接口,它为应

2020-09-22 17:21:06 723

原创 ConcurrentHahMap 基于源码解析

参考:https://zhuanlan.zhihu.com/p/356689361、简单总结JDK1.8底层是散列表+红黑树、JDK1.7底层是segments + HashEntry数组; ConCurrentHashMap支持高并发的访问和更新,它是线程安全的; 检索操作不用加锁,get方法是非阻塞的; key和value都不允许为null2、JDK1.7segments+HashEntry数组解析参考:https://zhuanlan.zhihu.com/p/4975435...

2020-09-22 10:56:06 115

原创 java 日常醒脑

为什么java要求越来越高? - hzldds2020的回答 - 知乎 https://www.zhihu.com/question/414988138/answer/1421614993

2020-09-21 21:13:25 96

原创 数据库

参考:常见数据库面试题(内含详细文章)

2020-09-21 18:51:28 95

原创 0-1 背包问题 Java

https://blog.csdn.net/huyang0304/article/details/82286279/** * 0-1背包 * @param val 价值 * @param weight 重量 * @param W 背包容量 * @return 最优解 */ public static int knapsack(int[] val, int[] weight, int W) { int N = we.

2020-09-19 15:10:43 140

原创 关于JDK1.8 java HashMap的tableSizeFor的解析:一个数最近2的幂次数方法

https://zhuanlan.zhihu.com/p/134690309public static void main(String[] args) { hightwo(0); hightwo(7); hightwo(32);}private static void hightwo(int cap) { int n = cap - 1; n |= n >>> 1; n |= n >>> 2; n .

2020-09-19 15:09:39 450

原创 java 判断一个数是不是2的整数次幂

https://www.cnblogs.com/blog567/p/12374662.html

2020-09-19 15:08:39 171 1

原创 堆排序

https://www.cnblogs.com/chengxiao/p/6129630.html

2020-09-18 11:43:02 81

原创 tcp拥赛控制

https://blog.csdn.net/qq_41431406/article/details/97926927

2020-09-18 11:36:04 97

Dubbo文档.docx

1、介绍Dubbo基本的原理和机制; 2、通过idea实现简单的生产者、注册中心(zookeeper)、消费者,通过Dubbo实现RPC - 即消费者远程调用服务; 3、提供dubbo监管服务的安装使用教程。

2020-07-20

空空如也

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

TA关注的人

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