自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

向阳而生

终身学习

原创 Java 按字符为单位截取

背景 按长度截取字符功能是为了解决什么问题呢?首先了解下两个维度的基础 1. Java中很多工具类在按长度截取文本的时候,无论是中文/英文/数字/中英文标点符号每一个都代表一个长度,比如subString方法 2. 一个中文和英文数字所占的内存和显示的大小也不同,一个中文是2个字符问题 当UI或者功能要求按长宽高等固定尺寸来作为衡量标准的时候,那么长度就不能作为我们的衡量标准,因为1个中文长度是1个单位,1...

2020-07-26 16:37:27 54

转载 Linux 常用命令全拼

供大家查阅-------------------要知其然并知其所以然pwd: print work directory 打印当前目录 显示出当前工作目录的绝对路径 ps: process status(进程状态,类似于windows的任务管理器) 常用参数:-auxf ps -auxf 显示进程状态 df: disk free 其功能是显示磁盘可用空间数目信息及空间结点...

2019-11-13 18:11:13 83

原创 Mysql事务隔离级别-----简单到不能再简单的理解

读未提交:别人改数据的事务尚未提交,我在我的事务中也能读到。读已提交:别人改数据的事务已经提交,我在我的事务中才能读到。可重复读:别人改数据的事务已经提交,我在我的事务中也不去读。串行:我的事务尚未提交,别人就别想改数据。这4种隔离级别,并行性能依次降低,安全性依次提高。...

2019-10-15 16:46:35 97

转载 每个程序员都应该收藏的算法复杂度速查表

这篇文章覆盖了计算机科学里面常见算法的时间和空间的大 O复杂度。我之前在参加面试前,经常需要花费很多时间从互联网上查找各种搜索和排序算法的优劣,以便我在面试时不会被问住。每次我都需要准备这个,所以,为了节省大家的时间,我就准备了这个,希望你喜欢!图例数据结构操作数组排序算法图操作堆操作大O复杂度图表来源:LCTT原文:http://bigo...

2019-10-01 14:45:30 79

转载 java并发锁ReentrantReadWriteLock读写锁源码分析

1、ReentrantReadWriterLock基础所谓读写锁,是对访问资源共享锁和排斥锁,一般的重入性语义为 如果对资源加了写锁,其他线程无法再获得写锁与读锁,但是持有写锁的线程,可以对资源加读锁(锁降级);如果一个线程对资源加了读锁,其他线程可以继续加读锁。java.util.concurrent.locks中关于多写锁的接口:ReadWriteLockpublic interfa...

2019-09-30 21:25:33 65

原创 【Maven】——Jar包冲突解决方案调研

一.jar包冲突的本质Java 应用程序因某种因素,加载不到正确的类而导致其行为跟预期不一致。二. jar包冲突的两种情况第一类jar包冲突问题(同一jar包版本不同)应用程序依赖的同一个 Jar 包出现了多个不同版本,并选择了错误的版本而导致JVM加载不到需要的类或加载了错误版本的类。 出现该问题的三个必要条件:依赖树中出现了同一个jar包的多个版本。 该jar包的多...

2019-09-12 10:43:12 116 1

原创 【JVM】类加载---JAVA获取CLASSPATH路径

JAVA获取CLASSPATH路径ClassLoader 提供了两个方法用于从装载的类路径中取得资源:public URL getResource (String name); public InputStream getResourceAsStream (String name); 这里name是资源的类路径,它是相对与“/”根路径下的位置。getRe...

2019-09-06 10:46:43 252 1

原创 【JVM】自动内存管理机制《七》---内存分配与回收策略

导读到目前为止我们讲完了:【JVM】自动内存管理机制《一》---内存划分及异常可能情况 【JVM】自动内存管理机制《二》---- 内存区域为何划分,以什么原则划分,为何自动管理? 【JVM】自动内存管理机制《三》---对象的生死判定和算法详解 【JVM】自动内存管理机制《四》---垃圾收集器(索命黑白无常回收垃圾对象) 【JVM】自动内存管理机制《五》---垃圾收集器(索命...

2019-08-14 09:25:39 118 2

原创 【JVM】自动内存管理机制《六》---面试官问JDK中默认的垃圾收集器?

目录导读查看JDK1.8.0_25的默认垃圾收集器其他JDK版本的默认垃圾回收器呢?默认的收集器详解小结导读在上篇博客中:【JVM】自动内存管理机制《五》---垃圾收集器(索命黑白无常回收垃圾对象),我们了解了各种垃圾收集器,那么大家有没有想过,我们的JDK中默认用的哪种垃圾收集器?查看JDK1.8.0_25的默认垃圾收集器打开控制台,在控制台中...

2019-08-14 09:25:00 267 2

原创 【JVM】自动内存管理机制《五》---垃圾收集器(索命黑白无常回收垃圾对象)

目录导读垃圾收集器有哪些Serial收集器——单线程收集器特点:应用场景:设置参数ParNew收集器——Serial收集器的多线程版本特点应用场景设置参数为什么只有ParNew能与CMS收集器配合Parallel Scavenge收集器特点应用场景设置参数Serial Old收集器特点应用场景Parallel ...

2019-08-13 09:07:39 71 1

原创 【JVM】自动内存管理机制《四》---垃圾收集器(索命黑白无常回收垃圾对象)

目录导读宏观概览哪些内存需要回收?垃圾收集算法复制算法标记清除算法标记整理算法分代收集算法垃圾收集器小结导读接下来本篇博客着重讲:如何自动管理内存,今天接着解决第三个问题,详细会按以下思路讲解-:如何自动管理的?谁管理的?接下来按下面的顺序讲述,我们已经讲完了对象存活的判定,接下来要讲垃圾收集算法,垃圾收集器:内存回收机制...

2019-08-11 11:05:05 76

原创 【JVM】自动内存管理机制《三》---对象的生死判定和算法详解

目录导读对象存活判定标准对象存活判定标准:对象回收标准:对象存活判定算法引用计数器算法循环引用的问题运行的结果:可达性分析算法小结导读上篇博客我们已经讲了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域是线程私有,也就是生死随着线程。接下来本篇博客着重讲:如何自动管理内存,今天解决第三个问题,第三个问题有些复杂...

2019-08-07 09:52:56 63 1

原创 【JVM】自动内存管理机制《二》---- 内存区域为何划分,以什么原则划分,为何自动管理?

导读上篇博客:【JVM】自动内存管理机制《一》相信你明白了为什么内存需要管理:为了解决有限资源和无限需求的冲突!内存是有限的,但在运行的过程中最大的冲突就是:内存不够用。也看了java8的内存模型是分区域的,那么有没有想过一个问题:内存为什么划分?还有上篇博客的遗留问题:内存为什么要自动管理?如何自动管理的?这一切都是为了更好的利用和管理内存那么今天会解决这三个问题1.jvm虚拟...

2019-08-03 09:19:09 88

原创 【JVM】自动内存管理机制《一》---内存划分及异常可能情况

目录导读java内存区域内存溢出测试思路小结导读java内存区域与内存溢出异常 垃圾收集器与内存分配策略本篇主要讲jvm的自动内存管理机制,首先我们要拆分“自动内存管理机制”这个词:首先是一个管理机制, 管理什么?内存! 为什么内存需要管理?、 内存会带来什么问题? 如何管理?自动管理! 如何自动管理?带着这几个疑问,所以我们接下里会讲...

2019-08-02 08:31:21 72 1

原创 数据库字段为什么要尽可能的使用not null

目录null有哪些缺点?1. 空间相关 可能有些晦涩难懂,举个栗子:二、索引相关三、count函数相关四、NOT IN子查询在有NULL值的情况下返回永远为空结果再说下为什么Not Null更优化小结null有哪些缺点?1. 空间相关 NULL占空间 下面是来自Mysql官网的解释:“NULL...

2019-07-28 09:11:38 489

原创 Linux(CentOS)如何上外网

目录在上一篇博客的基础上:打开编辑配置文件同样重载配置文件,便可测试是否可以上网,小结:在上一篇博客的基础上: Linux(CentOS)配置静态IP/动态IP打开编辑配置文件输入:vi /etc/sysconfig/network-scripts/ifcfg-ens33同样重载配置文件, 重启服务:service network re...

2019-07-17 20:59:10 1231 1

原创 win10添加应用程序到开机启动项

目录背景解决方式小结背景 为什么会有这篇博客的产生呢? 1、应用设置了开启自启动,没作用 2、无奈每次都自己再点快捷方式启动 实在是无可忍受呀,必须解决!解决之后,发现:实现开机自启,和取消开机自启非常容易呀,用代码实现也是这个思路的呀!解决方式方法一:1、...

2019-07-16 16:05:02 255 2

原创 VSCode插件配置信息同步———如何使用 VSCode 的 Setting Sync 插件

目录前言SettingSync插件的作用SettingSync插件适用的场景SettingSync插件如何使用?1、安装 2、配置设置同步3、上传下载您的设置上传您的设置下载您的设置小结前言作为一名程序员,同时自己也是一个资深用户,所以必须要有不讲究的习惯,高效率,节省时间!对每一款软件,都要追求用户体验的完美度!S...

2019-07-16 15:12:29 172 3

原创 java8的Stream流使用

Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行...

2019-07-14 21:17:57 64 1

原创 Zookeeper分布式高性能协调服务-what、why、how

目录zookeeper的由来zookeeper是什么?设计目的?zookeeper带来的问题zookeeper有什么? zk特性ZK主从集群ZAB协议zookeeper的由来说到这里,zookeeper是为了解决分布式集群带来的问题,就得说说什么是分布式?分布式集群带来了哪些问题?zookeeper解决了什么问题?1.什么是分布式?分布式两...

2019-07-07 09:34:37 95 1

原创 RabbitMQ消息队列-what、why、how

目录什么是RabbitMQ?为什么会产生消息队列?RabbitMQ中的一些基础概念RabbitMQ 选型和对比什么是RabbitMQ?理解:MQ是什么?队列是什么?MQ我们可以理解为消息队列,队列我们可以理解为管道。以管道先进先出的方式做消息传递。场景:1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提醒我...

2019-06-28 10:55:44 109 3

原创 Mycat分布式数据库中间件 what why how

目录Whatis Mycat?1.概念?2.同类产品?3.解决了什么问题?4.如何解决的?拆分5.拆分策略6.拆分带来的问题及如何解决How to use Mycat?mycat中的核心概念及配置文件分析1.schema.xml2.rule.xml3.server.xmlDemo小结Whatis Mycat?...

2019-06-27 14:47:13 67 3

原创 xxljob-分布式任务调度平台 what、why、how?

目录xxljob是什么?为什么要有分布式任务调度平台?为什么有xxl-job等分布式任务调度平台?xxljob怎么在项目里用?需要具备的其他知识:Corn表达式xxl-job的源码目录结构总结xxljob是什么?是一个分布式任务调度平台:在什么时间,什么人,执行什么代码任务( )当然大家要明白,分布式任务调度平台不止xxljob,还有为什...

2019-06-22 11:12:57 780 31

原创 Mybatis篇三:XML配置文件解析(下)

目录5、objectFactory(对象工厂)6、plugins(插件)7、environments(环境)transactionManager(事务管理器)dataSource(数据源)UNPOOLEDPOOLEDJNDI8、databaseldProvider(数据库厂商标识)9、mappers(映射器)总结:5、objectFactory(...

2019-06-15 09:30:00 80 1

原创 Mybatis篇三:XML配置文件解析(上)

配置顶层结构目录 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:注意:这些元素在mybatis的xml配置文件中,顺序是不可以颠倒的,否则无法构建SqlSessionFactoryBuilder实例,也就无法构建SqlSessionFactory工厂实例,更无法构建SqlSession操作数据库命令SQL对象实例。pro...

2019-06-15 09:18:54 45 1

原创 Mybatis篇二:MyBatis实战

MyBatis实战光看不练容易迷糊,先写个实例试试,在回去读文档,或许体会会多一些。1、实例准备jar包:mybatis-3.4.5.jar(mybatis)mysql-connector-java-5.1.21.jar(数据库驱动)junit-4.4.jar(测试,不想用这个junit,用main方法测试也行)项目结构 ...

2019-06-15 09:08:35 81 1

原创 Mybatis篇一:Mybatis为什么出现?为什么不是直接使用jdbc?

目录什么是mybatis为什么会出现mybatis、hibernate等来代替而不是直接使用JDBC?MyBatis 的真正强大在于它的映射语句结果映射小结什么是mybatisMyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以...

2019-06-05 11:51:36 1297

原创 Spring Cloud Feign ——服务消费者——what、why、how

目录Feign是什么?什么是WebService客户端?什么是service?什么是Web Service?Web Service的优势:什么时候用Webservice?什么是声明性的?Feign能干什么?既然有了Ribbon,Feign是怎么出来的?怎么写一个FeignFeign是什么?Feign是一个声明性的Webservice...

2019-05-28 15:25:34 81 1

原创 Spring Cloud hystrix——服务熔断——what、why、how

目录hystrix断路器是什么?为什么hystrix会出现?hystrix能干吗?1. 服务熔断:2. 服务降级:小结:服务降级和服务熔断的区别3. 服务限流接近实时的监控hystrixDashboard服务监控什么是Hystrix Dashboard?怎么看图?官网资料:https://github.com/Netflix/Hystrix/wiki...

2019-05-28 11:24:03 77 1

原创 服务限流——限流算法——what、why、how

为什么限流会出现?在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制...

2019-05-28 10:33:06 209 1

原创 Spring Cloud Ribbon ——服务消费者Client Side Load Balancer——what、why、how

目录前言Ribbon是什么?能干嘛?LB(负载均衡)集中式LB:进程内LB(Ribbon):轮询方式Ribbon核心组件IRule轮询方式IRule架构图自定义轮询怎么搭建?前言在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+re...

2019-05-28 08:38:42 83 1

原创 Spring Cloud Eureka服务注册中心——what、why、how

目录Eureka是什么?Eureka的基本架构对比Dubbo的注册中心Zookeeper?Eureka和Zookeeper架构图Eureka和Zookeeper原则对比(数据库ACID、CAP基础学习)CAP深入学习作为服务注册中心,Eureka比Zookeeper好在哪里?Eureka包含两个组件:原理自我保护机制怎么搭建?Eureka是什么?...

2019-05-16 14:44:41 111 1

原创 Spring Cloud Config分布式配置中心——what、why、how

目录Spring Cloud Config分布式配置中心关于配置文件的小tip为什么会出现分布式配置中心?SpringCloud Config 是什么?怎么玩?能干嘛?与GitHub整合配置怎么搭建Spring Cloud Config分布式配置中心关于配置文件的小tipapplication.yml是用户级的资源配置项bootstrap.ym...

2019-05-10 17:14:11 113 1

原创 java.net.URLDecoder和URLEncoder类的应用

目录类URLDecoder类URLEncoder应用注意类URLDecoder解密:使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。类URLEncoder加密:使用指定的编码机制将字符串转换为 application/x-www-form-urlencoded 格式为什么用?主要用来解决...

2019-04-30 21:20:44 277 1

原创 HTTP协议——你用到但不知道的

目录HTTP协议HTTP协议简介五层网络模型--HTTP协议是应用层协议协议体现:URL构成-用了这么久,你注意过吗?协议内容响应状态码(HTTP响应状态码)常见头---自行百度补充小结HTTP协议1、导图总结2、起因:一个HTTP打趴80%面试者 面试官:请问你了解HTTP协议吗? ...

2019-04-25 11:52:06 114 5

原创 java.net.InetAddress类的应用

目录类InetAddress应用类InetAddress 1、此类表示Internet协议(IP)地址 2、所有已实现的接口: 序列化 3、直接已知子类: Inet4A...

2019-04-16 20:44:55 91 2

原创 System.Net.HttpWebRequest.GetRequestStream超时问题

错误引发的异常:“System.Net.WebException”(位于 System.dll 中)操作超时System.Net.WebException: 操作超时 在 System.Net.HttpWebRequest.GetResponse() 在 tools.WebUtils.post1(String url, Byte[] fileContentByte) 位置...

2019-02-26 15:59:14 469 3

原创 Jedis——Redis在java中的使用(集群版)

目录 环境集群版------Java中通过JedisCluster对象使用Redis服务更优雅的方式继续优化 环境 虚拟机ip地址:*.*.*.*例如:192.168.25.128,加上端口号可在一台虚拟机中安装多台Redis服务也可在多台虚拟机中分别安装Redis服务集群版------Java中通过JedisCluster对象使用Redis服务 ...

2019-02-10 17:16:55 228 2

原创 云端IDE——Cloud Studio(运行JavaDemo)

目录 云端IDE:Cloud Studio及Coding WebIDE简介 试用实践 小结  云端IDE:Cloud Studio及Coding WebIDE简介         2018年4月16日,腾讯云与CODING宣布达成战略合作,共同发布以腾讯云云服务器为基础的国内第一款完全基于云端的IDE工具:Cloud Studio的beta版本。支持所有常用的开发环境。Cl...

2019-02-10 15:38:50 3090 1

原创 Jedis——Redis在java中的使用(单机版)

目录Redis简介Java中使用Redis服务Redis简介 1、概念:Redis是开源免费,高性能的key-value数据库2、特点/优势:Redis支持数据持久化:将内存中的数据保存在磁盘中Redis支持key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储Redis支持master-slave模式的数据库备份性...

2019-02-10 11:56:49 136 1

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