自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 谈下Spring IOC容器为什么不会被GC

前言JVM的内存是有限的,因此不可能让我们无限地创建对象,JVM GC的诞生就是为了对不再存活的对象进行回收,释放内存的,那么怎样判断对象已死呢?了解过JVM GC的人,可能就知道JVM其实通过可达性分析来判定对象是否存活的,这个算法的基本思路就是通过一系列称为 GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链 ,当一个对象到 GC Roots没有任何引用链相连时,则证明此对象是不可用的。(读者如果对JVM GC感兴趣,推荐看下周志明的《深入理解JAVA虚拟机》)那么

2020-06-07 13:33:03 1503 1

原创 SpringBoot简单配置logback

前言平常自己开发主要聚焦于业务功能的配置,对日志配置一般关注较少,特此记录下SpringBoot如何配置简单的logback,以及相关配置的解释。一、对日志简单的认知logback和log4j是一个人写的,功能差不多,你可以用logback也可以用log4jSpringBoot默认使用的日志框架是logback日志级别优先级(从高到低):OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。一般我们开发只会用到ERROR、WARN、INFO、DEBUG这几个,日志

2020-05-17 11:42:32 469

原创 谈下新手程序员怎样写好复杂业务代码

前言自己作为一名工作不足一年的程序员,来谈怎样写好复杂业务代码这个话题是很惶恐的,尽管有注明加上新手程序员的对象,但有些心得很想和大家交流。自己工作以来,一直在看设计模式和代码整洁的书,平常工作内容主要是写业务代码,最大的感受就是完成需求容易,但把业务代码写简单、整洁易懂真的很不容易。但通过不断实践设计模式,参考别人的优秀代码,慢慢写多了,自己也有了这方面的体会或者说方法套路,和大家分享下。一、懂得过程分解写业务代码经常会碰到很比较复杂的业务流程,比如一个toB场景订单创建流程,就涉及很多处理过程,比

2020-05-16 23:01:16 2399 1

原创 Redis高可用中的复制是怎样实现的?

Redis经过不断发展,现在已经作为一款非常优秀的分布式中间件,高性能是它出生便携带的强悍特点,但是要作为分布式服务,一如优秀的它,也必然少不了负载均衡、高可用等等的特性实现。下面主要谈下Redis究竟是怎样。一、复制(replicate)“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。既然要保持其服务的高度可用性...

2020-04-18 09:32:06 189

原创 Spring源码(IOC模块)分析

前言:Spring是我们日常Java web开发必不可少的框架,有着很优秀的设计思想,在熟练使用它的基础上,很有必要了解其源码,Spring主要有七大模块,分别为(IOC容器)Spring Core,应用上下文(Spring Context),Spring面向切面编程(Spring AOP),JDBC和DAO模块(Spring DAO),对象实体映射(Spring ORM),Web模块(S...

2020-04-13 07:13:09 232

原创 mac/Linux环境RokectMQ本地安装、启动

一、RokectMQ部署图RocketMQ是阿里的开源消息中间件,在介绍怎样安装之前,先简单介绍下RokectMQ,在总体认识它的架构,各组件的作用物理部署结构:name server:主要是提供轻量级的服务发现和路由服务,每个节点都存放了全部的路由信息和对应的服务,也就是说生产者和消费从任意name server节点都能去注册或获取服务broker:简单来说就是消息存放的地方,满...

2020-04-01 20:12:56 507

原创 Redis的AOF、RDB持久化方式

Redis作为一款内存数据库,它将数据存储在内存里面,是存在Redis进程由于某种原因推出导致数据丢失的风险的,因此了解Redis数据的持久化是很有必要,Redis提供两种持久化方式,分别是AOF和RDB,下面将着重介绍这两种持久化方式RDB持久化这种方式是指在指定的时间内将内存中的数据集快照写进磁盘,RDB持久化产生的RDB文件是一个经过压缩的二进制文件,这个文件被保存在磁盘中,Redi...

2020-01-31 15:43:59 137

原创 浅谈Redis的六种底层数据结构和五种对象

前言:Redis作为一款优秀的中间件,是目前市场上最好的开源内存 NoSQL 数据库之一,在缓存、计数和排名等实时分析、分布式锁、用户会话数据管理等等场景中大放异彩,相信很多开发者都使用过,从使用层面上,与我们直接接触最多就是Redis的五种对象,分别是字符串、列表、集合、有序集合、哈希。这五种对象在Redis底层中实际上是使用七种数据结构实现的,分别是SDS(简单动态字符串)、链表、字典、跳跃...

2020-01-06 18:06:48 715

原创 记一次solidity异常报错

初学者,solidity智能合约开发,在remix上向合约转账,报错信息如下:transact to Attack.pwnEtherStore errored: VM error: revert. revert The transaction has been reverted to the initial state. Note: The constructor should be...

2019-03-15 19:22:33 5847 6

原创 迷路的牛牛-网易2019实习编程题目

/* * 4.迷路的牛牛 * 时间限制:1秒 * 空间限制:32768K * 牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图, * 但是他需要知道自己面向哪个方向,请你帮帮他。 * 输入描述: * 每个输入包含一个测试用例。 * 每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。 * 接下来的一行包含一个长度为N的字符串,由L和R组成...

2018-05-12 21:32:09 533

原创 源码学习之Integer.valueOf方法

我们都知道Integer只是一个非常简单的类,是int的包装类,很多人也用过Integer.valueOf方法,该方法是把一个int值转化为一个Integer对象,但是valueOf方法的基本实现比较出乎我的意料,如果转换的int值范围为-128到127,返回的是缓存值,也就是说,在这个范围内对某一个int值转换,返回两个Integer是相同的,看如下代码结果: Inte...

2018-05-01 17:14:01 574

原创 理解dbutils对jdbc的封装

我们知道jdbc是一种使用java代码发送sql语句的技术,虽然近些年来,随着像hibernate,mybatis等优秀方便程序员开发的ORM框架的出现,jdbc技术逐渐淡出人们的视野,但是由于jdbc能给予最高能动性于程序员,能够发挥最高的性能等特点,一些需要定制优化性能的场景常常需要jdbc,毕竟ORM框架是面对对象的,性能,定制性不如jdbc。jdbc虽好,但由于很底层,发送sql语句进行操

2017-09-29 16:24:43 605

原创 关于leetCode第八题String to Integer解题上的困惑

题目描述Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possibl

2017-03-27 23:40:42 233

空空如也

空空如也

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

TA关注的人

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