自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

坚持者的博客

一切的准备都是为心中的梦!

  • 博客(12)
  • 收藏
  • 关注

原创 字符串和数字相关算法

1 比较版本号比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。public class ThreeSum {public static void main(String[] args) {//.号分割,每个数位数不同,如果位数不一样S...

2020-04-10 21:20:28 237

转载 java基础-代码说明类加载过程之双亲委派机制

protected Class<?> loadClass(String name, boolean resolve)throws ClassNotFoundException{synchronized (getClassLoadingLock(name)) {// 1.判断要加载的类是否已经被加载了Class<?> c = findLoadedClass(name);...

2020-03-04 00:57:31 182

原创 java基础-inputStream两次读取的方法

场景描述:我们需要对同一个InputStream对象使用多次。比如,客户端从服务器获取数据 ,利用HttpURLConnection的getInputStream()方法获得Stream对象,需要将InputStream流读取获取相关参数(第一次读取),又想把InputStream流中的数据写进文件缓存到本地(第二次读取)。问题描述:第一次读取InputStream对象后,第二次再读取时可能已...

2020-03-04 00:44:51 6064

原创 java之限流算法(计数器算法、令牌算法、漏桶算法)

1 计数器算法(单机限流)具体的实现可以是这样的:对于每次服务调用,可以通过AtomicLong#incrementAndGet()方法来给计数器加1并返回最新值,通过这个最新值和阈值进行比较。这种实现方式,相信大家都知道有一个弊端:如果我在单位时间1s内的前10ms,已经通过了100个请求,那后面的990ms,只能眼巴巴的把请求拒绝,我们把这种现象称为“突刺现象”具体业务代码:publi...

2020-02-26 14:53:44 1156

原创 mysql (一)mysql通信和相关隐藏的命令

不常用命令#查进程show PROCESSLIST;#数据库最大链接数show VARIABLES like ‘MAX_CONNECTIONS’;#发送和接受的最大数据(需要使用limit,或者分批查询)show variables like ‘max_allowed_packet’;#查询消耗show status like ‘Last_query_cost’;#查询缓存s...

2020-02-18 12:09:15 161

原创 Jvm理论与实战-GC算法和收集器以及内存模型

内存模型堆内存:方法区:垃圾收集器垃圾收集过程是按对象年龄,使用多种收集器分代收集的 ,例如 parallel scavenge 、cms、G1等收集器,现一一做说明:parallel scavenge (默认新生代并行收集器)复制算法 (并行) 用户线程会停顿 线程是并行执行收集垃圾的注重吞吐量=执行用户代码时间/执行用户代码时间相关常用jvm命令-XX:MaxGCPau...

2020-02-15 18:35:37 154

原创 Jvm理论与实战-定位线上OOM、CPU100%、死锁等问题

前沿本文为jvm专栏文章,本专栏从jvm的内存模型、gc算法和收集器(包含gc日志分析)、jvm线上问题OOM和CPU100%定位和解决、性能调优和指令实战,本文是线上OOM和CPU100%问题定位和解决。线上问题示例-死锁代码(不常见)模拟死锁的代码@PostMapping("/deadLock") public JsonResult deadLock() { Object a...

2020-02-15 16:07:10 977

原创 java基础-动态代理实现两种方式(cglib和jdk)

前沿最近工作中为方便排查资金支付的网络问题,需要打印第三方jar包内部方法的日志,但是类又不是接口实现,因此只能使用cglib的动态代理方法,现特总结和记录两种动态实现的最简单方式:cglibProxy(直接代理类)和jdkProxy(需要有顶层接口)代码import com.wz.study.rpc.CgLibHello;import com.wz.study.rpc.Hello;...

2020-02-12 15:16:15 180

原创 数据结构 (四)手写树的遍历(最全实现方式)

1. 前情提要本文是树的遍历实现,要关注队列实现方式,请关注如下文章:数据结构 (三)手写队列2. 树的基本概念链表、栈和队列都是一对一的线性结构,一对多的线性结构——树。「一对多」就是指一个元素只能有一个前驱,但可以有多个后继。a树的节点定义看如下图b 满二叉树在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。满二叉树具有...

2020-02-11 13:15:41 1166

原创 数据结构 (三)手写队列

前沿本文是手写队列,如果要看栈的实现方式,请关注前文:数据结构(二) 使用链表实现栈介绍本文使用数组和栈的方式实现队列,使用栈的方式实现队列需要使用两个栈( stackPush,stackPop)来实现,必须保证两点:1 stackPush中元素必须一次性全部压入stackPop, 2 stackPush在压入元素时,stackPop必须为空,首先介绍栈实现队列方式:栈实现...

2020-02-10 23:52:51 359

原创 数据结构(二) 使用链表实现栈

前沿使用链表节点来实现栈,栈具有先进后出特性,本文展现入栈,出栈,遍历、清空、判空等所有操作。前文数据结构(一)手写链表代码 ,请看传送门:代码/** * Class: 基础数据结构-栈(使用链节点实现) * * @Author: wangzhong * @Date: 2020-02-10 14:20 */public class MyStack { //栈顶指针...

2020-02-10 22:58:27 460

原创 数据结构 (一)手写单向链表

1. 前沿数据结构在实际工作中应用较多,大多框架都有应用,现特手写java中比较深奥的数据结构,本文是单向链表手写,希望对童鞋们的面试工作有帮助,现直接上代码如下.2. 代码/** * Class: 基础数据结构-单向链表 * * @Author: wz * @Date: 2020-02-09 16:01 */public class MyNodeList { /** *...

2020-02-10 22:30:41 301

空空如也

空空如也

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

TA关注的人

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