自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 资源 (11)
  • 收藏
  • 关注

原创 使用递归例子---OD算法

使用递归例子

2022-06-26 10:06:38 208 1

原创 任务处理--OD算法

任务处理,算法

2022-06-25 09:55:31 302

原创 算法-实现一个整数编码方法

实现一个整数编码方法

2022-06-19 10:19:25 386

原创 sfs和dp例子

dfs和dp

2022-06-05 14:36:38 183

原创 算法-归并排序(java)

package org.example.leecode;import java.util.Arrays;public class MergeSort { public static void main(String[] args) { int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1}; new MergeSort().sort(arr); System.out.println(Arrays.toSt...

2021-11-25 16:05:06 495

原创 算法-单链表遍历及反转(java)

单链表遍历及反转package org.example.leecode;import lombok.Data;public class LinkedNodeTest { public static void main(String[] args) { LinkedNode head = new LinkedNode(); head.setData(-1); head.setNext(null); LinkedN.

2021-11-25 14:36:28 553

原创 算法-选择排序(java)

选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。算法步骤首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。package org.example.algorithm;public class SelectSort { public .

2021-11-21 09:12:25 70

原创 算法-插入排序(java)

通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。如果输入数组已经是排好序的话,插入排序出现最佳情况,其运行时间是输入规模的一个线性函数。如果输入数组是逆序排列的,将出现最坏情况。平均情况与最坏情况一样,其时间代价是(n2)。

2021-11-20 22:42:17 66

原创 算法-冒泡排序(java)

package org.example.algorithm;/** * @author denglg * @version 20211120 */public class BubbleSort { public static void main(String[] args) { int[] arr = {9, 8, 7, 6, 5, 3, 2}; int[] sortArr = new BubbleSort().bubbleSort(arr)...

2021-11-20 20:03:33 433

原创 算法-二分查找(java)

又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。package org.example.algorithm;import java.util.Arrays;public class BisSearch { public static void main(Stri...

2021-11-20 10:56:38 216

原创 MySQL中的锁

1.锁的概念锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。2.锁的分类从对数据操作的粒度分 :表锁:操作时,会锁定整个表。行锁:操作时,会锁定当前操作行。从对数据操作的类型分:读...

2021-11-12 20:05:33 1110

原创 MVCC原理

1、什么作用 在 Innodb 存储引擎的实现主要是为了提高数据库并发能力,用更好的方式去处理读–写冲突,同时做到不加锁、非阻塞并发读写。2. 解决什么问题MVCC可以解决脏读,不可重复读,MVCC 使用快照读解决了部分幻读问题,但是在修改时还是使用的当前读,所以还是存在幻读问题,幻读的问题最终就是使用间隙锁解决3. 使用范围MVCC 只在 REPEATABLE READ(可重复读) 和 READ COMMITTED(已读提交)这俩种隔离级别下适用...

2021-11-12 19:26:12 142

原创 Mysql中的索引原理

1. 定义所谓索引,其实就是一种数据结构,用来快速查询数据的2.为什么Mysql不适用Hash、二叉树、AVL树、红黑树、跳表等数据结构,而采用B+tree数据结构来建索引?分别插入C N G A H E K Q M F W L T Z D P R X Y S 来查看下各数据结构的情况2.1 HashHashMap中有一个优雅的实现,hash & (length - 1)就相当于对length取模,其效率要比直接取模高得多,这是HashMap在效率上的一个优化2....

2021-11-12 14:10:15 1579

原创 Mysql中的日志

错误日志 是 MySQL 中最重要的日志之一,它记录了当 MySQL 启动和停止时、以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。二进制日志(BINLOG) 记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL 的主从复制, 就是通过该 binlog 实现的。...

2021-11-11 14:31:21 893

原创 mysql的日志

1.错误日志 是 MySQL 中最重要的日志之一,它记录了当 MySQL 启动和停止时、以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。2.二进制日志(BINLOG) 记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL 的主从复制, 就是通过该 binlog 实现的。3.查询日志 记录了客户...

2021-11-11 14:19:39 371

原创 HashMap原理和几点思考

1. HashMap类图3.为什么HashMap的底层数组长度总是2的n次方4.什么时候触发扩容5.HashMap为什么引入红黑树而不是AVL树6. 为什么说HashMap线程不安全

2021-11-08 10:07:02 307

原创 LinkedHashMap原理及LRU实现

1. LinkedHashMap 继承了HashMap,拥有HashMap的所有功能2. 与HashMap相比,LinkedHashMap可以保持插入顺序或者访问顺序。可以根据其构造函数里面的accessOrder参数赋值决定:若accessOrder为true,put时将新插入的元素放入到双向链表的尾部,get时将当前访问的Entry移到双向链表的尾部。若accessOrder的值为false时,表示双向链表中的元素按照Entry插入LinkedHashMap到中的先后顺序排序,即每次p.

2021-11-05 15:43:11 208

原创 Javassit代理

1.定义package org.example.Javassist;public class JavassistDemo { private String demoProperty = "demo-value"; // 字段 // demoProperty字段对应的getter/setter方法 public String getDemoProperty() { return demoProperty; } public void s.

2021-10-25 19:55:03 261

原创 Cgilib 动态代理

1. 定义package org.example.cglibproxy;import org.springframework.cglib.proxy.Enhancer;import org.springframework.cglib.proxy.MethodInterceptor;import org.springframework.cglib.proxy.MethodProxy;import java.lang.reflect.Method;public class Cglib...

2021-10-25 19:40:53 153

原创 mybatis中的设计模式

1. builder模式 (sqlSessionBuildFacotry)2. 策略模式 (executor)3. 动态代理 (mapper)4. 装饰器 (日志模块)5. 组合模式 (sqlNode)6. 责任链模式(插件)

2021-10-25 17:08:14 101

原创 mybatis中的插件--责任链设计模式

InterceptorChainpublic class InterceptorChain {// 底层结构是一个List private final List<Interceptor> interceptors = new ArrayList<>(); public Object pluginAll(Object target) { for (Interceptor interceptor : interceptors) { t...

2021-10-22 16:38:53 265

原创 mybatis中的设计模式-策略模式

策略模式:解耦类定义,创建和使用一起看下 Executor1.类定义2. 类的使用3. 类创建

2021-10-22 15:58:32 163

原创 spring和mybatis集成逻辑

1. 需要添加mybatis-spring-x.x.x.jar,主要文件结构2. 通过SqlSessionTemplate,手写DAO<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <!-- 加载mybatis.cfg.

2021-10-22 10:19:12 99

原创 mybatis中的binding模块

mybatis中的CustomerMapper无需写实现类呢?1.调用逻辑2、重点看下MapperRegistry 维护了全局配置类Configuration 和 mapper对应代理工厂

2021-10-19 19:38:01 53

原创 mybatis与spring整合版本对应表

官网地址:https://mybatis.org/mybatis-3/官方参照表:http://mybatis.org/spring/中文官网:https://mybatis.org/mybatis-3/zh/mybatis项目源码地址:https://github.com/mybatis/mybatis-3/若编译通不过,import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotati..

2021-10-19 15:27:59 1927

原创 JAVA中的反射

代码应用package org.example.reflect;public class Student { public String name; protected int age; char sex; private String phoneNum; public Student(){ } public Student(String name, int age, char sex, String phoneNum) { ...

2021-10-13 17:52:38 156

原创 mybatis中的cache

1、BlockingCache 是在原有 Cache 实现之上添加了阻塞线程的特性,采用ConcurrentHashMap<Object, CountDownLatch> 和CountDownLatch来实现加锁解锁 public Object getObject(Object key) { acquireLock(key); Object value = delegate.getObject(key); if (value != null) { ...

2021-10-12 11:31:24 332

原创 java IO 中的装饰器

第一个比较特殊的地方是:装饰器类和原始类继承同样的父类,这样我们可以对原始类“嵌套”多个装饰器类。InputStream in = new FileInputStream("/xxx/test.txt");InputStream bin = new BufferedInputStream(in);DataInputStream din = new DataInputStream(bin);int data = din.readInt();第二个比较特殊的地方是:装饰器类是对功能的增强...

2021-10-12 10:59:37 128

原创 mybatis中的DataSource

工厂方法模式最终也是符合“开放-封闭”原则的,可以通过添加新的 Factory 接口实现和 Product 接口实现来扩展整个体系的功能。MyBatis 的数据源模块也是用到了工厂方法模式,如果需要扩展新的数据源实现时,只需要添加对应的 Factory 实现类,新的数据源就可以被 MyBatis 使用。DataSourceFactory接口及其实现DataSource及实现全局配置文件的mybatis-config.xml解析全局配置文件的mybatis-config...

2021-10-11 16:37:10 1451

原创 mabatis中的JDBC Logger

采用JDK动态实现,可以参考JDK动态代理_anhuixiaozi的专栏-CSDN博客定义InvocationHandler

2021-10-09 17:56:52 138

原创 mybatis中的日志框架

1.mybatis中的日志接口log,采用是适配器模式、对应的适配器有为了兼容java.util.logging.Logger对应的日志框架,以Jdk14LoggingImpl为例调用构造器获取,logger

2021-10-09 16:29:22 107

原创 JDK动态代理

1. 定义需要代理的接口和实现代码:public interface Subject { void operation();}public class RealSubject implements Subject{ @Override public void operation() { System.out.println("干活了"); }}2. 定义DemoInvokerHandler代码public cl..

2021-10-09 16:10:36 278

原创 Spring集成ribbon,@bean@LoadBalanced加强RestTemplate,实现负载均衡(三)

Spring集成ribbon,@bean@LoadBalanced加强RestTemplate,实现负载均衡(一)Spring集成ribbon,@bean@LoadBalanced加强RestTemplate,实现负载均衡(二)本章继续看下怎么获取服务列表的

2021-09-23 14:47:49 81

原创 Spring集成ribbon,@bean@LoadBalanced加强RestTemplate,实现负载均衡(二)

上章节分析了,为什么@Bean修饰的RestTemplate加上@LoadBalanced就能实现负载均衡功能?Spring集成ribbon,@bean@LoadBalanced加强RestTemplate,实现负载均衡(一)为添加了@Loadbalaced 注解的RestTemplate添加LoadBalancerInterceptor拦截器org.springframework.cloud.client.loadbalancer.LoadBalancerInterceptor#inte.

2021-09-22 23:38:49 237

原创 Spring集成ribbon,@bean@LoadBalanced加强RestTemplate,实现负载均衡(一)

为什么@Bean修饰的RestTemplate加上@LoadBalanced就能实现负载均衡功能?加强RestTemplate@Qualifier 注解限定利用SmartInitializingSingleton 进行扩展

2021-09-20 16:31:59 191

原创 Feign与Spring的集成

Feign的使用@FeignClient("sidecar-simple")public interface SidecarFeign { @GetMapping("hello") String hello();}@SpringBootApplication@EnableFeignClients@RestControllerpublic class ConsumerApplication { public static void main(String...

2021-09-20 15:13:05 211

原创 Nacos服务定义 NacosWatch对SmartLifecycle的扩展

AbstractApplicationContextDefaultLifecycleProcessorNacosWatch

2021-09-20 11:41:35 230

原创 Nacos自动注册 对ApplicationListener的扩展

NacosServiceRegistryNacosServiceRegistryAutoConfigurationNacosAutoServiceRegistration

2021-09-20 11:16:35 123

转载 TCP 协议面试灵魂 12 问

TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。001. 能不能说一说 TCP 和 UDP 的区别?首先概括一下基本的区别:TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输层协议。(就这么简单,其它TCP的特性也就没有了)。具体来分析,和UDP相比,TCP有三大核心特性: 面向连接。所谓的连接,指的是客户端和服务器的连接,在双方互相通信之前,...

2021-09-16 19:47:14 110

原创 ThreadLocal

类型 回收时间 应用场景 强引用 一直存活,除非GC Roots不可达 所有的程序的场景,基本对象,自定义对象等 软引用 内存不足时会被回收 一般用在对内存非常敏感的资源上,用作缓存的场景比较多,例如:页面缓存,图片缓存 弱引用 只能存活到下依次GC前 生命周期很短的对象,例如ThreadLock中的key 虚引用 随时会被回收,创建了可能很快就会被回收 可能被JVM团队内部用来跟踪JVM的垃圾回收活动 ...

2021-09-14 09:55:05 67

samples.war

samples.war flex

2011-02-17

数据库设计资料 db_design

数据库资料 db_design.rar 数据库资料 数据库资料

2009-08-19

mysqldriver.jar

mysqldriver.jar mysql驱动

2009-08-17

tk.eclipse.plugin.htmleditor_2.0.4.rar

tk.eclipse.plugin.htmleditor_2.0.4.rar

2009-08-17

java swing.rar

java swing.rar 帮助文档

2009-08-14

Struts sun.pdf

Struts sun.pdf 孙卫琴

2009-08-14

beantaglibs/ htmltaglibs/logictaglibs

beantaglibs/ htmltaglibs/logictaglibs

2009-08-14

23patterns

java 23patterns

2009-08-14

struts+spring+hibernate整合包

struts+spring+hibernate整合包

2009-07-03

tomcat与eclipse开发servlet_jsp.pdf

tomcat与eclipse开发servlet_jsp.pdf

2009-04-15

空空如也

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

TA关注的人

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