自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 LeetCode 454. 四数相加 II

给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1例如:输入: A = [ 1, 2] B = [-2,-1] C = [-1, 2] D = [ 0, 2]输出: 2解释: 两个元组如下:(

2020-11-27 09:48:14 174

转载 LeetCode 134. 加油站

在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:输入: gas = [1,2,3,4,5] cost = [3,4,5,1,2]输出

2020-11-18 10:33:19 133

转载 LeetCode 剑指 Offer 47. 礼物的最大价值

在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 12解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物class Solution { public int maxValue(int[][] grid) {

2020-11-17 10:08:47 182

原创 leetCode 406. 根据身高重建队列

假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]题解: /** * 解题思路:先排序再插入 * 1.排序规则:按照先H高度降序

2020-11-16 19:56:14 194

原创 Redis geoAdd ERR invalid longitude,latitude pair

错误描述im.cu.shaded.new_redis.clients.jedis.exceptions.JedisDataException: ERR invalid longitude,latitude pair -180.000000,86.000000原因:redis GEO使用的不是地理位置的经纬度,有效的经度从-180度到180度。有效的纬度从-85.05112878度到85.05112878度。当坐标位置超出上述指定范围时,该命令将会返回一个错误。...

2020-11-04 18:09:35 2803 3

原创 SpringBoot 接口报错:Content type ‘text/plain;charset=UTF-8‘ not supported

控制台显示Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/plain;charset=UTF-8' not supported]接口使用postman测试,请求参数如下,接口返回415解决:使用postman时发送json时,默认是text,记得修改为json。使用text时的颜色都是黑的,用json时postman会调整下颜色。修改后...

2020-11-03 18:38:24 4056

原创 maven Cannot resolve org.apache.dubbo:dubbo-dependencies-zookeeper

packing是pom作为父pom,在依赖下加上type为pom类型就行

2020-11-02 11:20:14 5127 2

原创 必须知道的Redis的过期策略和内存淘汰机制

目录过期策略内存淘汰常见的缓存算法过期策略对于过期的key,redis有两种方式进行删除:惰性删除:redis不会主动的删除过期的key,而是当访问此key的时候回判断它是否过期,过期就删除并返回空。不会扫描过期key,但是占用内存资源。定期删除:redis每隔一段时间就随机扫描部分过期key(20个),是过期的key就删除,过期key占比大于25%则再次扫描,默认每秒10次。redis配置文件hz默认是10。为了防止redis因为过期策略卡死,过期扫描的最大时间是25S。内存淘汰下图是re

2020-10-10 19:28:02 113

原创 (三)jvm,面试必考的jvm内存划分

垃圾回收算法1、线程私有1.1、虚拟机栈1.2、本地方法栈1.3、程序计数器2、线程共享2.1、堆2.2、方法区开篇前先说下,不要说成了java的内存模型,内存模型是主存、线程内存的实现,jvm的内存划分如下图:分为两大类:线程私用,线程共享1、线程私有1.1、虚拟机栈它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的线程内存模型:每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧用于存储局部变量表、操作数栈、动态连接、方法出口等信息。每一个方法被调用直至执行完毕的过程,就对应着.

2020-09-07 08:24:26 163

原创 (二)jvm,java的引用类型和GC Roots

java四大引用类型强引用 Strong reference当虚拟机内存不足时,jvm就会抛出oom。即使异常也不会被垃圾收集器回收了。只有和GC Root没有联系才可以时,才回被回收。软应用 Soft reference软引用是维护的对象是可有可无的。在内存充足时,是不会被垃圾回收器回收的,只有在内存不足时才回被回收。在Guava的Cach中就有对软应用和弱应用的设置方法,软应用可以被应用在缓存上。可软应用可以和引用队列组合使用,如果该引用对象被回收,jvm会将引用加入到该队列中。

2020-09-05 17:38:51 170

原创 (一)jvm,代码是怎么被运行起来的(类加载器,双亲委派)

有这样一个问题:我们都是知道java代码是通过javac 将.java文件编译成.class字节码文件,然后jvm在加载这些字节码文件到内存中。java的运行模式是混合模式,解释执行和及时编译(JIT)。非热代码是解释执行,执行的是字节码,将字节码编译为机器码执行一次编译一次。及时编译是将热代码编译成机器码存放在方法区中。如果程序在执行非热代码A 的a方法 输出的是 ”hello“,如果我们将A的.class文件删除,他还会执行吗?答案肯定是会的。非热代码不是执行一次解析一次字节码吗?为什么还会运行呢?j

2020-09-05 16:51:13 240

原创 要尝尝我的糖吗?(java语法糖)

语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身的功能来说没有什么影响,只是为了方便程序员进行开发,提高开发效率,使用这种语法写出来的程序可读性也更高。说白了,语法糖就是对现有语法的一个封装。但其实,Java虚拟机是并不支持语法糖的,语法糖在程序编译阶段就会被还原成简单的基础语法结构,这个过程就是解语法糖。所以在Java中真正支持语法糖的是Java编译器。Java中的语法糖Java编程语言提供了很多语法糖,整理了下,主要有下面几种常用的语法糖。

2020-08-12 11:01:23 195

原创 还搞不定方法区、常量池、字符串常量池吗?

方法区,常量池,运行时常量池一直困扰了我很久,最近看了很多博客又再看了一遍《深入理解java虚拟机》 (第三版)** 需要电子书的可以加群:**方法区放啥?用书本里的话就是方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫作“非堆”(Non-Heap),目的是与-Java堆区 分开来。首先是类信息,啥意

2020-08-09 17:01:23 324

原创 我刚刚装好 --Mac 安装thrift0.9.3

前提条件:mac 安装 brew Homebrewbrew 全称Homebrew 是Mac OSX上的软件包管理工具Homebrew 安装和卸载工具 只用一行命令就能完成ruby -version ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install

2020-06-12 14:55:15 468

原创 Mac 安装 Rocket MQ踩坑,亲测,解决 Please set the JAVA_HOME variable in your environment, We need java(x64)

最近学学Rocket MQ,安装都过不去,佛了。掉了一把头发才解决,为了个位少掉点头发,写个博客供参考。环境Mac:10.15.3Rocket MQ:4.7.0官网安装:http://rocketmq.apache.org/docs/simple-example/源码版的安装版才需要进行mvn…,发行版直接 cd 就好unzip rocketmq-all-4.7.0-source-release.zipcd rocketmq-all-4.7.0/mvn -Prelease-all -Dsk

2020-05-20 20:05:09 3752 2

原创 idea 运行内存修改,显示内存使用情况

IDEA修改主题IDEA修改背景图片idea修改运行内存:修改文件时不要出错啊,修改后打不开的话操作下面步骤:显示IDEA的包内容,点击idea运行显示如下,使用VIM修改文件为初始值,保存后重新打开idea即可idea显示内存情况:结果...

2020-05-18 13:06:13 717

原创 maven dependencyManagement和dependencies

dependencyManagement使用场景在项目中模块很多时,我们会抽取一个公共的root-pom来管理公共的依赖包。在我们项目顶层的POM文件中,我们会看到dependencyManagement元素。通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。相对于dependencyMan

2020-05-15 13:26:26 288

原创 java 4大引用类型

引用分为强引用(Strongly Re-ference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)4种,这4种引用强度依次逐渐减弱。强引用是最传统的“引用”的定义,是指在程序代码之中普遍存在的引用赋值,即类似“Object obj=new Object()”这种引用关系。无论任何情况下,只要强引用关系还存...

2020-03-02 15:31:54 245

原创 单调的idea,idea设置背景图片

idea settings–>plugins–>输入background image plus–>下载–>重启idea–>进度条是设置透明度的设置完就可以了图片来源:http://pic.netbian.com/4kdongman/index_2.html...

2020-02-28 11:47:40 751

原创 idea设置炫酷主题

设置前需要下载主题(主题是jar包)地址1地址2像这样,找到合适的不容易,慢慢试吧(颜色太亮的就不要选了,太刺眼了)。我就下了个排名靠前的一、设置新主题点击ok点击ok后,选择重启然后就生效了。二、怎么切换回原主题上面三个加粗的就是idea自带的,选择要切换的主题点apply就好了...

2020-02-28 11:30:20 689

原创 runnable和callable区别

runnable和callable区别接口定义:callablepublic interface Callable<V> { V call() throws Exception;}runnablepublic interface Runnable { public abstract void run();}相同点:都是接口,都无法实例化。都可...

2020-02-17 11:29:19 185

原创 Linux chmod

chmod 命令设定文件权限的方式有 2 种,分别可以使用数字或者符号来进行权限的变更。文件的基本权限由 9 个字符组成,以 rwxrw-r-x 为例,我们可以使用数字来代表各个权限,各个权限与数字的对应关系如下:r --> 4 读取w --> 2 写入x --> 1 执行—> 0由于这 9 个字符分属 3 类用户,因此每种用户身份包含 3 个权限(r、w...

2020-02-04 14:16:45 227

原创 Linux netstat命令

netstatNetstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输入netstat命令-a (all)显示所有选项,netstat默认不显示LISTEN相关-t (tcp)仅显示tcp相关选项-u (udp)仅显示udp相关...

2020-02-04 13:09:45 282

原创 (二)并发编程之线程池

如果是Executors创建的FixedThreadPool、CachedThreadPool(队列长度为Integer.MAX_VALUE)顺序会改变吗?来看看代码package ThreadPoll;import java.util.concurrent.*;public class Test { public static void main(String[] arg...

2020-02-03 15:42:03 139

原创 (一)并发编程之线程池

线程池是什么?为什么要使用线程池?线程池用来管理和控制线程数量。线程是种昂贵的资源,线程的创建、启动、销毁、调度都是需要额外的开销的。线程池的优势:线程的复用。线程的管理。线程数量的控制。第一:降低资源消耗.通过重复利用自己创建的线程降低线程创建和销毁造成的消耗.第二: 提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立即执行.第三: 提高线程的可管理性.线程是稀缺...

2020-02-03 13:34:53 173

原创 死锁的条件

死锁的四个必要条件:1,互斥:同一个资源每次只能一个进程使用。2,资源不可抢占:不可抢占其他进程持有的资源。3,循环等待:若干进程互相循环等待资源。4,请求与保持:持有一个资源,又在请求另一个资源,请求不到资源就一直保持这个资源。只要其中一个条件不满足,死锁就不存在。死锁的经典问题,哲学家用餐问题。...

2020-02-02 20:49:38 108

原创 死锁,饥饿,活锁

鹬蚌相争:死锁死锁是一种常见的活性故障,如果两个或者更多的线程因相互等待对方而被永远暂停(生命周期为BLOCKED或者WAITING),那么就称这鞋线程产生了死锁。多线程产生死锁的四个必要条件:1、互斥条件:任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资源被占有者释放。2、不可剥夺条件:进程所获得的资源在未使用完毕之前,不被其他进...

2020-01-31 18:19:45 333

转载 ManagementFactory解析

ManagementFactory解析ManagementFactory是一个为我们提供各种获取JVM信息的工厂类,使用ManagementFactory可以获取大量的运行时JVM信息,比如JVM堆的使用情况,以及GC情况,线程信息等,通过这些数据项我们可以了解正在运行的JVM的情况,以便我们可以做出相应的调整。本文将基于ManagementFactory,介绍如何通过ManagementFac...

2020-01-31 17:25:53 1004

原创 java中止运行线程

java线程中止有三种方式:直接使用stop()方法,已经弃用,不建议使用。自定义volatile boolean类型变量作为中止标识。package stop;public class ThreadStop1 { public static class MyThread extends Thread{ private volatile boolean s...

2020-01-20 14:07:43 145

原创 2020一月京东数科宣讲会面试

记一次2020年一月的京东数科的校园招聘2020年了,在水滴实习的我被鹅心到了,就出来找校招了。总体面试下来感觉还比较好,挺基础的。hr收完简历就是各个部门大佬的业务介绍,就开始分简历面试了。一面二面差不多,这里就一起总结了:1、java为什么跨平台?2、jvm的组成3、垃圾回收机制、算法、垃圾回收器4、java集合,hashMap和ConcurrentHashMap为主这里详细一...

2020-01-03 23:13:06 971

空空如也

空空如也

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

TA关注的人

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