自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

纯洁的明依

公号:纯洁的明依,喜欢博主的可以关注

  • 博客(270)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redux 学习:创建项目

一、利用create-react-app 命令创建项目二、进入项目 cd redux-shopping三、安装yarn四、给redux 添加yarn

2019-04-17 10:56:20 282

原创 jdk源码系列:String为啥是不能有子类?以及内内部实现

public final class String implements java.io.Serializable,Comparaable<String>,CharSequence{ private final char value[]; private int hash; private static final long serialVersionUID=-68...

2019-04-16 16:35:07 1379

原创 jdk源码系列:String判断两个字符串是否相等以及忽略大小写相等的实现

源码如下:核心思路:取到每一个字符,比较如果全部相等则返回truepublic boolean equals(Object anObject){ if(this==anObject){ return true; } if(anObject instanceof String){ String anotherString=(String)anObject; ...

2019-04-16 16:30:59 1130

原创 React学习:context

实现主题切换一、定义2中不同主题const themes = { light: { classnames: 'btn btn-primary', bgColor: 'red', color: '#000' }, dark: { classnames: 'btn btn-light', ...

2019-04-16 15:45:04 137

原创 React 学习:综合实例-留言本

1、评论列表CommentList.js重点掌握遍历循环数组的方式​import React from 'react'const CommentList=({ comments }) => { return ( <div className="comment-list-component"> <labe...

2019-04-16 14:25:31 225

原创 React 学习:react 表单

目标:写一个留言输入框 表单 获取输入框的值一、新建CommentBox.jsimport React from 'react'class CommentBox extends React.Component{ constructor(props){ super(props); // this.state={ // ...

2019-04-16 11:29:03 190

原创 java如何手撕加载字节码的代码?编写一个加载class文件的方法

1 自定义ClassLoader类:MemoryClassLoaderpublic class MemoryClassLoader extends URLClassLoader { // class name to class bytes: Map<String, byte[]> classBytes = new HashMap<String, byte[]>...

2019-04-15 16:52:26 331

原创 Java 如何手写一段代码实现将java源码编译成字节码? Java文件-》class文件

核心对象:1 JavaCompiler 2 StandardJavaFilemanager1、初始化JavaCompiler: JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();2、初始化StandardFilemanagerthis.stdManager = compiler.getStandardF...

2019-04-15 16:42:03 701

原创 react 学习:react 生命周期

一、图示二、编写电子时钟1 新建DigitalClock.jsimport React from 'react'/** * */class DigitalClock extends React.Component{ constructor(props){ super(props) this.state={ ...

2019-04-15 15:33:15 218

原创 react学习:React状态

实现一个点赞按钮。点击数字增加一:建立LikeButton.jsimport React from 'react'class LikeButton extends React.Component{ constructor(props){ super(props) this.state={ likes:0 ...

2019-04-15 15:14:28 152

原创 react 学习:React属性 数组遍历、css引入

一:index.js 里直接引入css。import React from 'react';import ReactDOM from 'react-dom';import './index.css';import App from './App';// import Welcome from './Welcome';import * as serviceWorker from '....

2019-04-15 14:35:33 418

原创 React 学习:jsx 、变量定义、语法糖、三元表达式

1 定义变量:const2 花括号的使用:{}3 语法糖的体现4 数组的遍历import React from 'react'class Welcome extends React.Component { render() { // const todoList=['learn React','learn Redux'] // cons...

2019-04-12 11:43:28 1765

原创 React 学习项目搭建以及第一个demo组件

学习视频地址https://www.imooc.com/learn/10451 使用create-react-app 快速构建React开发环境$ cnpm install -g create-react-app$ create-react-app my-app$ cd my-app/$ npm start第一个组件: import ...

2019-04-11 14:43:33 241

原创 利用spring AOP、自定义注解、反射、kafka、mysql 实现日志收集存储分析

1 本项目分为客户端与服务端。客户端主要提供给用户使用只需要使用我们定义好的注解即可。服务端主要负责接收客户端推送过来的日志数据做处理存储分析。2 使用手册如下:提出kafka冲突依赖。 <dependency> <groupId>org.springframework.kafka</groupId> <...

2019-04-01 15:15:49 456 1

原创 繁华的北京,从来不会等待谁、眷顾谁和挽留谁......

文章转载自:美课堂。原创作者:杨俊平。欢迎关注微信公众号:矿洞程序员。胜者为王的表述是错的,正确的表述是......2018年的低迷,2019年的迷茫,向依然在路上的创业者致敬!创业的路上,失败是大概率事件!但每一个拼搏奋斗过的人都值得被尊敬有时候,在别人的故事里,也总能看到有自己的影子。心中默默比较,有多少相似又有多少不同!...

2019-03-29 13:03:39 207

原创 转发 微博 Qzone 微信 期货终端免费下载,采用VC++6.0开发,图形渲染效率惊人!

电脑版下载地址:关注微信公众号【矿洞程序员】,回复【 矿洞程序员期货终端】。采用VC++6.0开发,打包后整个程序仅4.5M,内存占用仅14M,图形渲染效率惊人!这是条件单的设置界面!这是清仓全撤的设置!这是白色版的界面风格!这是黑色版的界面风格!这是图形界面!这是添加合约的界面!这是对界面进行DIY的程序!按住CTRL+滑动鼠标...

2019-03-20 11:33:52 223

原创 JVM-concurrent-HashSet-problem Java 并发问题

image背景上午刚到公司,准备开始一天的摸鱼之旅时突然收到了一封监控中心的邮件。心中暗道不好,因为监控系统从来不会告诉我应用完美无 bug,其实系统挺猥琐。打开邮件一看,果然告知我有一个应用的线程池队列达到阈值触发了报警。由于这个应用出问题非常影响用户体验;于是立马让运维保留现场 dump 线程和内存同时重启应用,还好重启之后恢复正...

2019-03-15 15:59:00 173

原创 Java 运行时的内存划分

Java 运行时的内存划分image程序计数器记录当前线程所执行的字节码行号,用于获取下一条执行的字节码。当多线程运行时,每个线程切换后需要知道上一次所运行的状态、位置。由此也可以看出程序计数器是每个线程私有的。虚拟机栈虚拟机栈由一个一个的栈帧组成,栈帧是在每一个方法调用时产生的。每一个栈帧由局部变量区、操作数栈等组成。每创建一个...

2019-03-15 15:55:00 276

原创 对象的创建与内存分配

对象的创建与内存分配创建对象当 JVM 收到一个 new 指令时,会检查指令中的参数在常量池是否有这个符号的引用,还会检查该类是否已经被加载过了,如果没有的话则要进行一次类加载。接着就是分配内存了,通常有两种方式:指针碰撞空闲列表使用指针碰撞的前提是堆内存是完全工整的,用过的内存和没用的内存各在一边每次分配的时候只需要将指针向空闲内存一方移...

2019-03-15 15:52:00 151

原创 OOM 分析:Java 堆内存溢出

OOM 分析Java 堆内存溢出在 Java 堆中只要不断的创建对象,并且 GC-Roots 到对象之间存在引用链,这样 JVM 就不会回收对象。只要将-Xms(最小堆),-Xmx(最大堆) 设置为一样禁止自动扩展堆内存。当使用一个 while(true) 循环来不断创建对象就会发生 OutOfMemory,还可以使用 -XX:+HeapDumpO...

2019-03-15 15:46:00 544

原创 `OutOfMemoryError` 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的...

前言OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的。本文以最近碰到的一次线上内存溢出的定位、解决问题的方式展开;希望能对碰到类似问题的同学带来思路和帮助。主要从表现-->排查-->定位-->解决 四个步骤来分析和解决问题。表象最近...

2019-03-15 15:29:00 181

原创 ArrayList/Vector 的底层分析

ArrayList/Vector 的底层分析ArrayListArrayList 实现于 List、RandomAccess 接口。可以插入空数据,也支持随机访问。ArrayList相当于动态数据,其中最重要的两个属性分别是:elementData 数组,以及 size 大小。在调用 add() 方法的时候: public boolean...

2019-03-14 08:29:00 148

原创 HashMap 底层分析

更多 HashMap 与 ConcurrentHashMap 相关请查看这里。HashMap 底层分析以下基于 JDK1.7 分析。image如图所示,HashMap 底层是基于数组和链表实现的。其中有两个重要的参数:容量负载因子容量的默认大小是 16,负载因子是 0.75,当 HashMap 的 size > 16...

2019-03-14 08:29:00 71

原创 离职别退群,因为前同事绝对是宝藏

很多大公司出来的公司人所在的离职群则已经逐渐演变成了一种有规模有运营的组织形式:一个让原公司以及圈内同行都无法忽视的资源聚集地。腾讯离职员工潘国华在2010年创立的“南极圈”,现在已经有2万多名“校友”,它的前身是潘国华在离职后创立的一个QQ群。“南极圈”的风格和目的非常鲜明:做的就是和创业相关的事,覆盖了投资、孵化和招聘服务等等内容。在之后的4年时间里...

2019-03-13 09:55:00 722

原创 今夜失眠了,算是一点人生心得体会,分享给大家,勿喷!

国人骨子里大多蕴藏着丑恶的灵魂,不希望别人成功,见不得别人的成长。生在底层还看不起底层的人。没有追求双赢的意知识。有句话说的好,下等人人吃人,上等人人捧人。我体会到了。只要你能接触到高层次的人,你就会明白。你要你在社会底层待过,你就会有深入的体会。人生指不定在哪年爆发,希望你们与我都要一起努力。或许这会成为你人生不断前行的动力。今夜失眠了,说是一点心得,分...

2019-03-13 02:34:00 133

原创 分布式 ID 生成器 一个唯一 ID 在一个分布式系统中是非常重要的一个业务属性,其中包括一些如订单 ID,消息 ID ,会话 ID,他们都有一些共有的特性:...

分布式 ID 生成器一个唯一 ID 在一个分布式系统中是非常重要的一个业务属性,其中包括一些如订单 ID,消息 ID ,会话 ID,他们都有一些共有的特性:全局唯一。趋势递增。全局唯一很好理解,目的就是唯一标识某个次请求,某个业务。通常有以下几种方案:基于数据库可以利用 MySQL 中的自增属性 auto_increment 来生成全局唯...

2019-03-13 00:42:00 192

原创 MySQL 索引原理

MySQL 索引原理现在互联网应用中对数据库的使用多数都是读较多,比例可以达到 10:1。并且数据库在做查询时 IO 消耗较大,所以如果能把一次查询的 IO 次数控制在常量级那对数据库的性能提升将是非常明显的,因此基于 B+ Tree 的索引结构出现了。B+ Tree 的数据结构如图所示是 B+ Tree 的数据结构。是由一个一个的磁盘块组成...

2019-03-13 00:42:00 74

转载 LinkedHashMap 底层分析

LinkedHashMap 底层分析众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashcode 映射到 Entry 数组上,所以遍历出来的顺序并不是写入的顺序。因此 JDK 推出一个基于 HashMap 但具有顺序的 LinkedHashMap 来解决有排序需求的场景。它的底层是继承于 HashMap 实现的,由一个双...

2019-03-13 00:42:00 92

原创 数据库水平垂直拆分

数据库水平垂直拆分当数据库量非常大的时候,DB 已经成为系统瓶颈时就可以考虑进行水平垂直拆分了。水平拆分一般水平拆分是根据表中的某一字段(通常是主键 ID )取模处理,将一张表的数据拆分到多个表中。这样每张表的表结构是相同的但是数据不同。不但可以通过 ID 取模分表还可以通过时间分表,比如每月生成一张表。按照范围分表也是可行的:一张表只存储 0~...

2019-03-13 00:42:00 73

原创 HashSet` 是一个不允许存储重复元素的集合,它的实现比较简单,只要理解了 `HashMap`,`HashSet` 就水到渠成...

HashSetHashSet 是一个不允许存储重复元素的集合,它的实现比较简单,只要理解了 HashMap,HashSet 就水到渠成了。成员变量首先了解下 HashSet 的成员变量: private transient HashMap<E,Object> map; // Dummy value to associat...

2019-03-13 00:42:00 945

原创 分布式缓存设计

分布式缓存设计目前常见的缓存方案都是分层缓存,通常可以分为以下几层:NG 本地缓存,命中的话直接返回。NG 没有命中时则需要查询分布式缓存,如 Redis 。如果分布式缓存没有命中则需要回源到 Tomcat 在本地堆进行查询,命中之后异步写回 Redis 。以上都没有命中那就只有从 DB 或者是数据源进行查询,并写回到 Redis 中。...

2019-03-13 00:42:00 548

原创 SQL 优化

SQL 优化负向查询不能使用索引select name from user where id not in (1,3,4);应该修改为:select name from user where id in (2,5,6);前导模糊查询不能使用索引如:select name from user where name like '%zhangs...

2019-03-13 00:42:00 57

原创 LinkedList 底层分析

LinkedList 底层分析如图所示 LinkedList 底层是基于双向链表实现的,也是实现了 List 接口,所以也拥有 List 的一些特点(JDK1.7/8 之后取消了循环,修改为双向链表)。新增方法 public boolean add(E e) { linkLast(e); return tr...

2019-03-13 00:42:00 82

原创 日常使用的 Cache 组件来看看 Google 大牛们是如何设计

1.jpeg前言Google 出的 Guava 是 Java 核心增强的库,应用非常广泛。我平时用的也挺频繁,这次就借助日常使用的 Cache 组件来看看 Google 大牛们是如何设计的。缓存本次主要讨论缓存。缓存在日常开发中举足轻重,如果你的应用对某类数据有着较高的读取频次,并且改动较小时那就非常适合利用缓存来提高性能。缓存之所以...

2019-03-13 00:42:00 289

原创 分布式限流的方案

前言本文接着上文应用限流进行讨论。之前谈到的限流方案只能针对于单个 JVM 有效,也就是单机应用。而对于现在普遍的分布式应用也得有一个分布式限流的方案。基于此尝试写了这个组件:https://github.com/crossoverJie/distributed-redis-toolDEMO以下采用的是https://github.co...

2019-03-13 00:42:00 629

原创 分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三...

前言分布式锁在分布式应用中应用广泛,想要搞懂一个新事物首先得了解它的由来,这样才能更加的理解甚至可以举一反三。首先谈到分布式锁自然也就联想到分布式应用。在我们将应用拆分为分布式应用之前的单机系统中,对一些并发场景读取公共资源时如扣库存,卖车票之类的需求可以简单的使用同步或者是加锁就可以实现。但是应用分布式了之后系统由以前的单进程多线程的程序变...

2019-03-13 00:42:00 162

原创 类加载机制 双亲委派模型

双亲委派模型模型如下图:双亲委派模型中除了启动类加载器之外其余都需要有自己的父类加载器当一个类收到了类加载请求时: 自己不会首先加载,而是委派给父加载器进行加载,每个层次的加载器都是这样。所以最终每个加载请求都会经过启动类加载器。只有当父类加载返回不能加载时子加载器才会进行加载。双亲委派的好处 : 由于每个类加载都会经过最顶层的启动类加载器...

2019-03-13 00:41:00 115

原创 Spring AOP 实现原理

Spring AOP 实现原理静态代理众所周知 Spring 的 AOP 是基于动态代理实现的,谈到动态代理就不得不提下静态代理。实现如下:假设有一接口 InterfaceA:public interface InterfaceA{ void exec();}其中有实现类 RealImplement:public class Rea...

2019-03-13 00:41:00 78

原创 从源码分析如何优雅的使用 Kafka 生产者

从源码分析如何优雅的使用 Kafka 生产者前言在上文 设计一个百万级的消息推送系统 中提到消息流转采用的是 Kafka 作为中间件。其中有朋友咨询在大量消息的情况下 Kakfa 是如何保证消息的高效及一致性呢?正好以这个问题结合 Kakfa 的源码讨论下如何正确、高效的发送消息。内容较多,对源码感兴趣的朋友请系好安全带

2019-03-13 00:41:00 73

原创 Spring Bean 生命周期

前言Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。首先看下生命周期图:再谈生命周期之前有一点需要先明确:Spring 只帮我们管理单例模式 Bean 的完整生命周期,对于 prototype 的 bean ,Spring 在创建好交给使用者之后则不会再管理后续的生命周期...

2019-03-13 00:41:00 61

spring cloud 组件demo示例写法

svn://172.16.17.31/zncs/代码/项目/CSZN_XM_201803_SJZIOC/trunk

2018-09-12

空空如也

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

TA关注的人

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