自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tiankong_12345的博客

java初学者

  • 博客(106)
  • 资源 (4)
  • 收藏
  • 关注

原创 编译原理(一、编译器简介)

目录一、编译器概述1.1、什么是编译器?1.2、编译器的核心功能1.3、编译器和解释器1.4、编译器简史1.5、为什么要学习编译原理?1.6、如何学好编译原理?二、编译器结构2.1、编译器的高层结构2.2、一种没有优化的编译器结构2.3、一种更复杂的编译器结构2.4、小结2.5、编译器实现三、参考一、编译器概述1.1、什么是编译器?...

2020-02-24 09:49:51 2170

原创 使用IDEA调试RocketMQ

一、IDEA获取RocketMQ源码1、在IDEA 【VCS】菜单中选择【Check from Version Controll】,再选择【Git】:2、URL输入RocketMQ源码地址,选择保存的本地路径:3、点击【Clone】:状态栏有代码检出的进度4、检出完成会弹出提示框,选择【Yes】:5、在当前窗口打开工程,下载依赖包,依赖包下载完成后:6、...

2020-02-22 16:27:21 3140 6

原创 测试:OutOfMemoryError异常

目录1、目的2、实践(jdk8)2.1 Java堆溢出2.2虚拟机栈和本地方法栈溢出2.3方法区和运行时常量池溢出2.4本机直接内存溢出参考1、目的通过代码验证《Java虚拟机规范》中描述的各个运行时区域存储的内容;在遇到实际的内存溢出异常时,能根据异常的提示信息迅速得知是哪个区域的内存溢出,知道怎样的代码可能会导致这些区域内存溢出,以及出现这些异常后...

2020-01-29 11:56:35 721

原创 使用CLion调试OpenJDK12源码

目录1、调试环境2、安装CLion3、源码调试参考1、调试环境Workstation14 Pro Ubuntu18.04 LTS OpenJDK12(编译自己的OpenJDK12) CLion(我下载的是CLion-2019.3.3.tar.gz)2、安装CLion下载安装包CLion-2019.3.3.tar.gz,放到/home目录下,解压“sudo ta...

2020-01-26 21:24:37 4940 5

原创 在Ubuntu18.04编译OpenJDK12

目录1、所需软件1.1 OpenJDK121.2Ubuntu 18.04 LTS1.3Workstation 14 Pro(14.1.0 build-7370693)2、构建编译环境2.1构建编译环境GCC2.2 OpenJDK编译依赖库2.3 OpenJDK112.4提醒3、进行编译3.1 依赖检查3.2 编译4、参考1、所需软件...

2020-01-26 17:22:16 2477 4

原创 Bridge Pattern(桥梁模式)

目录1、定义2、类图3、实现3.1 实现化角色Implementor3.2具体实现化角色ConcreteImplementor3.3抽象化角色Abstraction3.4修正抽象化角色RefinedAbstraction4、优点5、应用场景6、注意事项7、最佳实践1、定义桥梁模式(Bridge Pattern)也叫做桥接模式,是一个...

2019-10-10 18:34:50 164

原创 最长回文子串(Java版本)

目录1、题目2、示例3、解决方案3.0 暴力破解3.1 动态规划3.2中心扩展算法3.3Manacher 算法4.参考1、题目给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。2、示例示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cb...

2019-10-07 10:29:44 11783

原创 NoSQL的常见模式

目录1、简介2、键值对存储模式2.1 简介2.2 特点2.3 实例3、文档式存储模式3.1 简介3.2 特点3.3 实例4、列式存储模式4.1 简介4.2 特点4.3 实例5、图存储模式5.1 简介5.2 特点5.3 实例1、简介关系型数据库,其基本模型都来自基本的关系数据模型,大多数实现了SQL语言支持、事务机制、完整性...

2019-10-02 11:03:44 2357

原创 分布式系统的一致性问题

目录前言1、CAP 原理2、BASE 和最终一致性3、Paxos 算法简介Paxos中的基本角色如下:Paxos 中可能还存在下列角色。下面介绍Paxos的具体流程。(1)第一阶段为发起提议阶段(2)第二阶段为决议的批准阶段前言在关系型数据库理论中,一致性存在于事务的 ACID 要求中,表示在事务发生前后,数据库的完整性约束没有被破环。在分布式系统中...

2019-09-26 14:13:05 1244

原创 Java常用的四种线程池

目录1、简介2、newCachedThreadPool2.1 示例2.2 详解2.3 CachedThreadPool 的 execute() 执行过程3、newFixedThreadPool3.1 示例3.2 详解3.3 FixedThreadPool 的 execute()方法的执行过程4、newScheduledThreadPool4.1 示例...

2019-09-04 16:37:35 2950

原创 从反编译角度看 i++ 和 ++i

目录1、测试代码2、执行3、解释1、测试代码public class App { public static void main(String[] args) { int i = 0; int res1 = i++; int j = 0; int res2 = ++j; }}2、执行先...

2019-09-03 15:31:21 445

原创 Integer中的 valueOf 和 parseInt

1、场景当需要将 String 类型的字符数字转换为 int 类型时,我们可能会用到 Integer.valueOf() 或者 Integer.parseInt() ,这两个函数都可以将字符数字转换成整型。2、源码对 Integer.valueOf(String s) 来说: public static Integer valueOf(String s) throws Nu...

2019-09-02 14:05:12 6252

原创 @Transactional 实现原理

目录1、简介2、自定义注解2.1 定义2.2 测试2.3 总结3、手写事务注解3.1 maven依赖3.2配置spring.xml文件3.3自定义事务注解 (通过反射解析方法上的注解,如果有这个注解就执行事务逻辑)3.4封装编程式事务3.5通过AOP封装事务工具类, 基于环绕通知和异常通知来触发事务3.6 dao 层3.7 service...

2019-09-01 09:59:11 2572

原创 Jedis 是不是线程安全的?若不是线程安全,使用时为什么没有出现线程安全问题?

Jedis不是线程安全的,那么使用时为什么没有出现线程安全问题?直接看官网即可:Jedis wiki要保证线程安全且获得较好的性能。能够使用JedisPool。JedisPool是一个连接池,既能够保证线程安全,又能够保证了较高的效率。JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");使用Je...

2019-08-29 22:25:13 2265

原创 Linux I/O

目录1、基础1.1 Linux 网络 I/O模型简介1.1.1阻塞 I/O 模型1.1.2 非阻塞 I/O 模型1.1.3 I/O 复用模型1.1.4 信号驱动 I/O 模型1.1.5 异步 I/O 模型1.2 I/O多路复用1 概念2 优点3 应用场景4 支持 I/O 多路复用的系统调用有:2、Java IO演进2.1 BIO2.2 ...

2019-08-27 15:09:03 252

原创 配置虚拟机和主机在同一网段

目录1、保证本机处于联网状态2、编辑虚拟机3、验证在默认情况下,采用默认的方式建立的虚拟机,跟实体机联网后并不是同一网络的,或者说同一局域网的,默认采用的是nat的方式进行上网的。那么如何修改为同一局域网或者说是同一网段呢?1、保证本机处于联网状态2、编辑虚拟机在虚拟机关闭的状态下,依次点击“编辑虚拟机设置”--->“硬件”--->"网络适配器",面板右侧栏...

2019-08-27 06:50:37 2449

原创 MySQL单表【亿级】数据量下的分页查询测试

目录1、造测试数据1.1 建表1.2 插入测试数据2、一般的分页查询:limit2.1 limit简介2.2 举例2.3 测试1 测试查询记录量对时间的影响2 测试查询偏移量对时间的影响3、使用子查询优化 limit4、id限定优化5、使用临时表优化关于数据表的id说明1、造测试数据1.1 建表CREATE TABLE `t_use...

2019-08-16 08:22:07 2872

原创 MySQL快速插入【一亿】测试数据(临时表方式)

目录1、建表1.1 建立测试表 t_user1.2 创建临时表2、生成数据2.1 用 python生成 【一亿】记录的数据文件(这个确实稍微花点时间)2.2 将生成的文件导入到临时表tmp_table中3、以临时表为基础数据,插入数据到t_user中4、参考1、建表1.1 建立测试表 t_userCREATE TABLE `t_user` ( `...

2019-08-15 17:30:36 2630

原创 WARN: Establishing SSL connection without server's identity verification is not recommended.

目录 MySQL连接警告1、警告:2、翻译:3、解决:1、警告:Wed Aug 14 19:10:06 CST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended.According to MySQL 5.5.45+, 5...

2019-08-14 19:31:58 310

转载 检查java线程死锁的几种方法

目录:Java线程死锁检测1、使用jconsole1.1 是什么?1.2 怎么用?(win环境为例)2、使用jstack2.1 是什么?2.2 怎么用?3、使用jvisualvm3.1 是什么?3.2 怎么用?死锁例子:public class DeadLockTest implements Runnable { public String ...

2019-08-11 15:54:02 961

原创 Hbase启动警告:Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; ......

目录一、问题二、排查&解决一、问题Hbase启动时,出现警告:[hadoop@hadoop000 ~]$ start-hbase.shstarting master, logging to /home/hadoop/app/hbase-1.2.0-cdh5.7.0/logs/hbase-hadoop-master-hadoop000.outJava HotSpot(...

2019-06-25 08:01:50 23217 6

原创 Hadoop启动警告:util.NativeCodeLoader: Unable to load native-hadoop library for your platform

目录一、问题二、排查&解决1、网上搜相关问题2、先去看看 $HADOOP_HOME/lib/native 下有没有什么东西3、重启hadoop,没有警告了一、问题Hadoop启动出现警告:[hadoop@hadoop000 ~]$ start-all.shThis script is Deprecated. Instead use start-dfs.s...

2019-06-25 07:42:40 792

原创 深度学习基础

目录一、什么是深度学习1 人工智能、机器学习与深度学习1.1人工智能1.2 机器学习1.3 从数据中学习表示1.4 深度学习之“深度”1.5 用三张图理解深度学习的工作原理2 深度学习之前:机器学习简史2.1 概率建模2.2 早期神经网络2.3 核方法2.4 决策树、随机森林与梯度提升机二、神经网络的数学基础1 初识神经网络2 神经网络...

2019-06-24 07:47:05 1359

原创 MyBatis整体架构

目录一、基础支持层(各个模块的功能)二、核心处理层三、接口层四、ORM的来历五、常见的持久化框架1、Hibernate2、JPA(Java Persistence API)3、Spring JDBC4、MyBatis5、总结(1)性能角度(2)可移植性(3)开发效率MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层:...

2019-06-05 13:28:52 5130

原创 Spring中bean的生命周期

目录一、其实在查看源码BeanFactory时,就会发现源码就介绍了bean的生命周期二、bean的实例化过程如下图三、bean的生命周期流程图如下图四、Bean实例生命周期的执行过程如下五、spring对单例和多例bean的管理1、单例管理的对象2、非单例管理的对象六、Bean的作用域一、其实在查看源码BeanFactory时,就会发现源码就介绍了bean的生...

2019-06-03 21:19:06 260

原创 Spring中BeanPostProcessor

目录一、bean的生命周期:创建--->初始化--->销毁1、bean的创建:2、bean的初始化:3、bean的销毁:二、插手初始化/销毁过程的四种操作方式:1、指定初始化和销毁方法:通过 @Bean 注解指定 init-method 和 destroy-method2、通过让 Bean 实现 InitializingBean (定义初始化逻辑),Disp...

2019-06-03 20:49:29 285

转载 如何用 Redis 统计独立用户访问量?

目录方法一:使用 Hash具体做法:eg:方法二:使用Bitset具体做法:eg:方法三:使用概率算法具体做法:eg:总结:方法一:使用 Hash具体做法:当一个用户访问时,若用户登录过,则使用用户id来标识该用户。若用户没有登陆过,则(前端页面)随机生成一个key来标识用户。我们可以使用 HSET 命令,key 可以选择 URI 与对应的日期进...

2019-06-03 09:34:52 2522

原创 LeetCode:add-two-numbers

题目描述:You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it...

2019-05-18 18:31:33 118

翻译 Spring Boot 1.5弃用,转向 Spring Boot 2.1吧

官网:https://spring.io/blog/2019/05/15/spring-boot-2-1-5-released

2019-05-17 13:50:15 544

原创 LeetCode:longest-substring-without-repeating-characters

题目描述:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length i...

2019-05-17 12:43:46 147

原创 PageHelper:com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException: Error crea...

2019-05-16 19:28:54 5853 2

原创 LeetCode:median-of-two-sorted-arrays

题目描述:There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).有两个大小分别为m和n的有序数组A和B. 找到两个...

2019-05-16 18:05:17 114

原创 win下ActiveMQ启动报错:BeanFactory not initialized or already closed - call 'refresh' before ...

目录win下安装ActiveMQ:启动错误:查看5672被谁占用:netstat -aon | findstr "5672"输入命令:tasklist | findstr "4240" 查找具体的占用进程打开资源管理器,找到PID是4240的进程(没有PID这一列的话可以右击列添加PID列)重新启动ActiveMQ。win下安装ActiveMQ:官网下载:本地解...

2019-05-14 11:43:04 3131

原创 粒子群优化(Particle Swarm Optimization, PSO)算法

目录一、算法由来二、基本思想三、更新规则四、算法流程和伪代码一、算法由来粒子群优化(Particle Swarm Optimization, PSO)算法是Kennedy和Eberhart受人工生命研究结果的启发、通过模拟鸟群觅食过程中的迁徙和群聚行为而提出的一种基于群体智能的全局随机搜索算法,自然界中各种生物体均具有一定的群体行为,而人工生命的主要研究领域之一是探索自然界...

2019-05-12 19:14:32 5611

原创 LeetCode:two-sum

题目描述:Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the target...

2019-05-12 11:09:55 115

原创 LeetCode:candy(分派糖果)

目录题目描述:要求示例:题目分析:思路一:思路二:题目描述:There are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following require...

2019-05-11 21:30:19 467

转载 AbstractQueuedSynchronizer

目录1. 背景2. 简介3. 实现思路3.1 如何获取锁3.2 如何释放锁3.3 API简介4. 代码解读4.1 数据结构定义4.2 获取独占锁的实现4.3 释放独占锁的实现4.4 获取共享锁的实现4.5 释放共享锁的实现5. 一些思考5.1 插入节点时的代码顺序5.2 唤醒节点时为什么从tail向前遍历5.3 unparkSucce...

2019-05-02 09:56:30 957

原创 类加载及初始化顺序例题

目录1、JAVA的类加载期负责整个生命周期内的class的初始化和加载工作,就虚拟机的规范来说,以下代码会输出什么结果?2、JAVA的类加载期负责整个生命周期内的class的初始化和加载工作,就虚拟机的规范来说,以下代码会输出什么结果?3、这个同24、继承是JAVA语言的一个特性,针对类的继承,虚拟机会如何进行父类和子类的初始化加载呢?5、继承是JAVA语言的一个特性,针对类的...

2019-04-11 20:40:25 782

原创 运算符优先级

数字越小表示优先级越高

2019-04-11 19:04:42 378

原创 Tomcat类加载机制

目录结论:问题:Tomcat 如何实现自己独特的类加载机制?tomcat 违背了java 推荐的双亲委派模型了吗?类加载JVM类加载Tomcat类加载结论:Tomcat的类加载机制违反了双亲委派机制。 对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给comm...

2019-04-08 11:17:56 305

win下dubbo环境

配置好的win下的dubbo环境,包括打包好的dubbo-admin管理控制台jar包。可以直接运行使用,非常方便。

2019-02-01

Spark集群搭建与测试【完整版】

Spark集群搭建的完整过程,可参考搭建一个属于自己的Spark集群。非常适合新手,学习spark平台的搭建。

2018-05-02

nmap端口扫描工具(32位)

毕设时候用到的端口扫描器,很不错,实用。

2017-04-05

网络攻防实验指导书

平时学习时参考的,感觉很不错,推荐给大家。

2017-04-05

空空如也

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

TA关注的人

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