8 wangxiaoming

尚未进行身份认证

我要认证

博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com

等级
TA的排名 2k+

数据库分类

数据库分类DB DBS DBMS区别是什么?DBMS 的英文全称是 DataBase Management System 数据库管理系统。DBMS = 多个数据库(DB) + 管理程序DB(DataBase)数据库,数据库是存储数据的集合。DBS 的英文是 DataBase System 数据库系统,包含了数据库,数据库管理系统+数据库管理人员(DBA)常见的 DBMS数据库分类关系型数据库(RDBMS)关系型数据库建立在关系模型的基础上,SQL就是关系型数据库的查询语言。非关系型数据

2020-07-04 13:47:55

数据库锁分类

数据库锁分类锁和索引是数据库两大核心概念,了解索引,可以从 B+ 树,Hash 索引,页结构,缓存池,索引原则等方面理解。理解锁,要从哪些方面入手?为什么要加锁加锁的目的,其实是为了保证数据的一致性。 当多个线程并发访问某个数据时,加锁,可以保证这个数据在任何时刻最多只有一个线程在访问,保证数据的完整性和一致性。锁的分类锁可以按照锁粒度划分,可以按照数据库管理角度划分。按照锁粒度划分按照锁粒度划分,可以将锁划分成 行锁,页锁和表锁。快速回忆一遍 InnoDB 存储引擎的逻辑结构:所有数据都被

2020-07-02 23:13:51

[DUBBO] disconnected from 问题

Dubbo [DUBBO] disconnected from 问题重启 Dubbo provider(生产者) 服务,出现如下异常日志:[INFO ] 2017-11-15 10:50:07,790--DubboServerHandler-10.255.242.97:20990-thread-517--[com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol] [DUBBO] disconected from /10.255.242.96:11582,

2020-06-29 17:42:53

Java 异常处理机制

Java 异常处理机制Exception 和 Error 有什么区别?Exception 和Error 都是继承 Throwable 类,在 java 只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。Exception 和 Error 提现了 Java 平台设计者不同异常情况的类,Exception 在程序运行中,可预料的意外情况,并且可能被捕获,进行相应处理。Error 是指在正常情况下,不大可能出现的情况,可能是因为JVM自

2020-06-26 22:46:28

LeetCode 3 题解

LeetCode 3 题解滑动窗口的方式求解public class LeetCode3 { public int lengthOfLongestSubstring(String s) { if(s == null || "".equals(s)) return 0; char[] chars = s.toCharArray(); int i = 0; int j = 0; int len = chars

2020-06-26 12:58:48

Apacche Dubbo 反序列化漏洞

Apacche Dubbo 反序列化漏洞早在2019年开发者社区就有谈到这个 http 协议漏洞问题,近期360灵腾安全实验室判断漏洞等级为高,利用难度低,威胁程度高。 建议升级 dubbo 版本,避免遭受黑客攻击。漏洞描述Unsafe deserialization occurs within a Dubbo application which has HTTP remoting enabled. An attacker may submit a POST request with a Java

2020-06-25 23:40:38

如何动态生成一个Java类

如何动态生成一个Java类开发者编写Java 代码,调用 javac 编译生成 class 文件。然后通过类加载机制载入 JVM ,即成为了应用可以使用的 Java 类。可以写一个编译类编译 java 代码:import java.io.File;import java.io.FileWriter;import java.lang.reflect.Method;import javax.tools.JavaCompiler;import javax.tools.JavaCompiler.Co

2020-06-23 22:57:27

Java 常见的垃圾回收器

Java 常见的垃圾回收器垃圾回收器 (GC, Garbage Collector)是和具体的 JVM 实现紧密相关。Java 虚拟机针对新生代和年老代分别提供了多种不同的垃圾收集器。Serial GCSerial GC ,是新生代的垃圾回收器, Serial 体现在其收集工作是单线程的,并且在垃圾收集过程中,其他线程阻塞,进入 Stop Thre World 状态。 新生代使用的 Serial 垃圾回收器,是基于复制算法的。-XX:+UseSerialGCParalel Scavenge

2020-06-21 22:45:39

接口和抽象有什么区别?

接口和抽象有什么区别?接口和抽象是 Java 面向对象设计的两个基础机制。接口是对行为的抽象,它是抽象方法的集合,利用接口可以达到API 定义和实现分离的目的。接口不能实例化,接口不能包含任何非常量成员,任何 field 隐含 public field final的意义非静态方式实现,要么是抽象方法,要么是静态方法。抽象类不能实例化,用 abstract 关键字修饰 class, 其主要目的是代码重用。抽象类和普通 Java 类在形式上没有太大区别。 可以有一个或者多个抽象方法,- 抽象

2020-06-21 00:49:45

如何在1 分钟内完成 100T 大文件的遍历?

如何快速遍历一个超大数据集 ?文件是存储在磁盘上的,文件的读写访问速度受限于磁盘的物理限。如果才能在1 分钟内完成 100T 大文件的遍历呢?磁盘存储结构磁盘是一种可持久保存,持续读写数据的存储介质。磁盘分类:机械硬盘固态硬盘机械硬盘结构机械硬盘,包含,盘片,主轴,磁头臂,主轴带动盘片高速旋转。读取数据地上,磁头臂移动到盘片的磁道上,磁头读取磁道上的数据。机械硬盘的数据是存储在磁性特质的盘片上的,因此叫做磁盘。读写数据是需要移动磁头,这样一个机械动作,可能需要花费几毫

2020-06-19 23:40:44

LeetCode 209题解

LeetCode 209滑动窗口的处理public class LeetCode209 { public int minSubArrayLen(int s, int[] nums) { // 滑动窗口的思路 int left = 0; int right = 0; int sum = 0; int res = nums.length + 1; while (left < nums.le

2020-06-18 21:24:37

数据表的范式

数据表的范式数据库设计有哪些范式?关系型数据库一共有 6 种范式,按照范式级别,从低到高分别是:1NF 第一范式2NF 第二范式3NF 第三范式BCNF 巴斯-科德范式4NF 第四范式5NF 第五范式,也叫完美范式数据库的范式设计越高阶,冗余度就越低,高阶范式一定符合低阶范式的要求。第一范式 1NF第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小原子单元。1NF 是指数据库中任何属性都是原子的,不可拆分。第二范式 2NF首先满足第一范式,并且表中非主键不存在对

2020-06-18 20:00:32

并发队列

并发队列并发包下面的并发容器中,ConcurrentLinkedQueue 这种 Concurrent 类型和的集合才真正代表并发。Concurrent 类型基于 lock-free ,常见的多线程访问场景,一般可以提供高吞吐量。LinkedBlockingQueue 内部基于锁实现,提供了BlockingQueue等特性方法。java.util.concurrent 包并发容器分类ConcurrentCopyOnWriteBlockingConcurrent 类型集合Conc

2020-06-16 23:37:33

【深入理解Java原理】线程池原理

线程池原理线程池有哪些?一般开发者是利用 Executors 提供的统一线程创建方法,取创建不同配置的线程池,主要区别在于不同的 ExecutorService类型或者不同的初始参数。Executors 提供了 5 种不同的线程池创建方式:newChachedThreadPool() ,可以用来处理大量短时间工作任务的线程池,具有如下几个特点:试图缓存线程并重用,当无缓存线程可用时,会创建新的工作线程,如果线程限制的时间超过 60秒,则被终止移除缓存;长时间闲置时,这种线程池不会消耗什么资源,内部

2020-06-15 09:06:31

【深入理解 Spring 原理】Spring Bean 的生命周期和作用域?

Spring Bean 的生命周期和作用域?Spring Bean 的生命周期Spring Bean 的生命周期可以分成,创建,使用,销毁几个过程。Spring Bean 创建过程如下:实例化 Bean 对象设置 Bean 属性通过各种 Aware 接口声明了依赖关系,则会注入 Bean 对容器基础设施层面的依赖,包括 BeanNameAware 、BeanFactoryAware 和 ApplicationContextAware 分别注入 BeanID ,BeanFactory或者Appl

2020-06-13 23:12:16

【深入理解数据库原理】InnoDB 是如何解决幻读、不可重复读?

InnoDB 是如何解决幻读、不可重复读?如何解决不可重复读上一篇文章,已经说明 InnoDB 是如何解决不可重复读的。一个事务只在第一次 SELECT 的时候会获取一次 Read view,而后面所有的 SELECT都会复用这个 Read view,这样每次读到的就是一样的,就可重复读。InnoDB 是如何解决幻读的?在读已提交的情况下,及时采用了 MVCC 方式也会出现幻读,如果我们同时开启事务A 和 事务B, 现在事务A 中进行某个条件的查询,读取的时候采用排他锁,在事务B 中增加一条复核

2020-06-11 15:26:51

LeetCode 46 全排列

LeetCode 46 全排列AC 通过public class LeetCode46 { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> result = new ArrayList<List<Integer>>(); List<Integer> list = new ArrayList&l

2020-06-11 00:08:19

【深入理解数据库原理】MVCC 原理

MVCC 原理事务的4个隔离级别读未提交读已提交可重复读串行化什么是脏读简单说,读了一条未提交的数据什么是不可重复读?一个事务读取了另外一个事务修改后记录强调的是 update 和delete ,只需要锁住满足条件的记录即可什么是幻读一个事务读取了另外一个事务插入的数据,强调的是 insert ,要锁住满足条件及相近的记录。MYSQL 中默认的隔离级别是可重复读,可解决脏读和不可重复读的问题。但是不能解决幻读的问题。Oracle 默认的是Read Commit

2020-06-10 23:00:10

【深入理解Java并发原理】Thread.yield、Thread.sleep、Object.wait、 LockSupport.park 对比

Thread.yield、Thread.sleep、Object.wait、 LockSupport.park 对比sleep、wait、park区别Thread.sleep() 不会释放占有的锁,Object.wait() 会释放会占有的锁Thread.sleep() 必须传入时间,Object.wait() 可以传可不传,不传会一直阻塞下去。Thread.sleep() 会自动唤醒,然后继续执行。Object.wait() 不带时间方法,需要 Object.notify() 唤醒Obje

2020-06-08 23:41:41

LeetCode 34深度优先+回溯

LeetCode 34输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[[5,4,11,2],[5,8,4,5]]来源:力扣(LeetCod

2020-06-07 09:33:43

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)