自定义博客皮肤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那点事 | 学习●思考●分享 | Java技术交流QQ群:83753349

当你的才华还撑不起你的野心时,那你就应该静下心来学习。岂能尽如人意,但求无愧我心; 努力不一定会成功,但是放弃一定会失败; 好好学习,天天向上,不求与人相比,但求超越自己; 知其然,还要知其所以然;...

转载 动态代理实现AOP

阅读目录 代理 静态代理 动态代理 动态代理的应用场景 AOP AOP实例1 AOP实例2 回到顶部 代理 代理顾名思义:代为处理。不是对目标对象的直接操作,而是通过代理对目标对象进行包装,此时可以在目标对象的基础上添加额外的操作以满足业务需求。图示 分类:动态代理、静态代...

2020-03-08 21:30:52 36 0

转载 REDIS缓存穿透,缓存击穿,缓存雪崩原因+解决方案

一、前言 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问...

2019-11-29 11:34:45 101 0

转载 CentOS7下使用YUM安装MySQL5.6

(1)检查系统中是否已安装 MySQL。 rpm -qa | grep mysql 返回空值的话,就说明没有安装 MySQL 。 注意:在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariad...

2019-06-26 14:10:17 94 0

转载 从cpu和内存来理解为什么数组比链表查询快

ArrayList和LinkList的比较 1.ArrayList和LinkedList可想从名字分析,它们一个是Array(动态数组)的数据结构,一个Link(链表)的数据结构,此外,它们两个都是对List接口的实现。前者是数组队列,相当于动态数组;后者为双向链表结构,也可当作堆栈、队列、双端...

2019-06-14 16:47:45 128 0

转载 Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结

本文转自:http://outofmemory.cn/c/java-outOfMemoryError java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。 导致OutOfMe...

2019-03-13 14:58:02 270 0

转载 记一次线上Java程序导致服务器CPU占用率过高的问题排除过程

本文转自:https://www.jianshu.com/p/3667157d63bb 1、故障现象 客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高。 2、CPU占用过高问题定位 2.1、定位问题进程 使用t...

2019-03-13 11:13:23 139 0

转载 Oracle 查看和扩展表空间

一、查询表空间使用情况 select a.tablespace_name as "表空间名", a.bytes / 1024 / 1024 as "表空间大小(M)", (a.bytes - b.bytes) / 1024 ...

2019-03-02 10:19:58 61 0

转载 Redis集群

Redis cluster tutorial Redis集群提供一种方式自动将数据分布在多个Redis节点上。 Redis Cluster provides a way to run a Redis installation where data is automatically sharde...

2018-12-17 13:27:55 101 0

转载 分布式之数据库和缓存双写一致性方案解析

引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面...

2018-12-16 17:14:49 104 0

转载 分布式之REDIS复习精讲

复习要点? 本文围绕以下几点进行阐述 1、为什么使用redis 2、使用redis有什么缺点 3、单线程的redis为什么这么快 4、redis的数据类型,以及每种数据类型的使用场景 5、redis的过期策略以及内存淘汰机制 6、redis和数据库双写一致性问题 7、如何应对缓存穿透和缓存雪崩问...

2018-12-16 14:30:28 77 0

转载 Redis运维利器 -- RedisManager

Redis运维利器 -- RedisManager Redis作为一个基于内存的可持久化的日志型、Key-Value数据库,以其出色的性能表现以及高可用性在许多公司有着举足轻重的地位。伴随着业务量的增长,redis集群的规模不可避免的需要扩大,此时redis集群的运维成本就成为一个不可忽视的工作...

2018-12-16 14:05:16 345 0

转载 Git常用命令速查手册

命令不断更新中…… Git的四个组成部分 img 1、初始化仓库 git init 2、将文件添加到仓库 git add 文件名 # 将工作区的某个文件添加到暂存区    git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理unt...

2018-12-16 10:23:01 63 0

原创 如何查询oracle会话及锁 如何查锁了哪张表?如何杀掉会话

=================================================================================================================== --查看锁表: SELECT O.OWNER, O.OBJECT...

2018-11-10 11:28:02 323 0

原创 使用notePad修改将文件格式保存后不起作用

将文件格式从Windows 转为  Unix,但是保存之后不起作用。临时解决办法: 我遇到的情况是,这种文档一般只有一行,所以出现这个问题,所以可以加个换行解决,再保存后,打开就是Unix。 具体原因,详见......。...

2018-10-26 11:19:06 1198 0

转载 plsql窗口中文显示的是横版的 问题解决办法

下面是crt中的解决办法,其实都是同理,plsql中也是这么解决。   原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/4...

2018-10-09 15:31:28 1152 0

转载 Redis (error) NOAUTH Authentication required.解决方法

出现认证问题,应该是设置了认证密码,输入密码既可以啦 注意密码是字符串形式! 127.0.0.1:6379> auth "yourpassword" 例如密码是‘root’,当出现认证问题时候,输入“auth ‘root’”即可   127.0...

2018-09-28 19:44:05 1225 0

转载 Windows 环境下 Git clone pull fetch 慢 解决之道

问题描述: git clone、pull 特别慢  ,项目大概是370MB, 每次pull ,Receving objects:*******   20kb/s ,传输速度才20kb/s 左右,进度70%左右就卡顿,很捉急。纠结了大半天,网上查阅了好多帖子,最终找到的解决方法,传输速度平均在20...

2018-09-27 19:26:06 1661 0

转载 获取指定包下所有自定义注解并提取注解信息

  Reflections 通过扫描 classpath,索引元数据,允许在运行时查询这些元数据,也可以保存收集项目中多个模块的元数据信息。 使用Reflections快速扫描指定包下自定义的Controller和RequestMapping两个注解,先去扫描加了@Controller注解的类...

2018-09-20 09:03:28 708 0

转载 Postman 安装及使用入门教程

安装 本文只是基于 Chrome 浏览器的扩展插件来进行的安装,并非单独应用程序。 首先,你要台电脑,其次,安装有 Chrome 浏览器,那你接着往下看吧。 1. 官网安装(别看) 打开官网,https://www.getpostman.com 点击那个灰灰色的「Chrome App (...

2018-07-25 09:06:40 204 0

转载 如何避免自己写的代码成为别人眼中的一坨屎!

摘要: Any fool can write code that a computer can understand. Good programmers write code that humans can understand. 普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。...

2018-07-17 22:20:41 278 0

转载 关于Java健壮性的一些思考与实践!

程序健壮性非常重要,要怎么玩怎么写才能让程序更加鲁棒呢?我又这么几点小建议。 一、进行统一的业务处理响应 根据蚂蚁金服开放平台的标准返回,一个 response 至少应当有4个返回值。 1、isSuccess:调用是否成功 2、data:返回的响应数据 3、errorCode:错误码 ...

2018-07-17 22:13:23 189 0

转载 认识cpu、核与线程

前言:作为一个后台开发人员,我想有必要了解这些基础知识。如果本文有不严谨或者疏忽的地方,请指正。目录认识cpu、核心与线程java多线程系列(一)之java多线程技能java多线程系列(二)之对象变量的并发访问java多线程系列(三)之等待通知机制java多线程系列(四)之ReentrantLoc...

2018-06-25 14:45:46 182 0

转载 多线程和CPU的关系

什么是CPU(1)         Central  Progress  Unit 中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。(2)         CPU包括 运算器,高速缓冲存储器,总线。(3)         它的工作,主要是解释计算机中的指令,和处理计算机软件...

2018-06-25 14:20:37 260 0

转载 对于多线程程序,单核cpu与多核cpu是怎么工作的

此文中的大部分资料来自于网络上,我只是觉得把有道理的整理一下,方便以后查阅。1.多线程在单核和多核CPU上的执行效率问题的讨论a1: 多线程在单cpu中其实也是顺序执行的,不过系统可以帮你切换那个执行而已,其实并没有快(反而慢)多个cpu的话就可以在两个cpu中同时执行了................

2018-06-25 14:19:32 1192 0

转载 Java并发与多线程

摘要:1. 并发与并行的区别,何为并发编程,并发编程的优势在哪2. 多线程、多任务、多进程机制概述3. 多线程、多任务、多进程机制与编程思想的关系一、并发1.1 并发与并行首先介绍一下并发与并行,两者虽然只有一字之差,但实际上却有着本质的区别,其概念如下:并行性(parallel):指在同一时刻,...

2018-06-22 20:33:40 91 0

转载 高并发和多线程的关系

 “高并发和多线程”总是被一起提起,给人感觉两者好像相等,实则 高并发 ≠ 多线程  多线程是完成任务的一种方法,高并发是系统运行的一种状态,通过多线程有助于系统承受高并发状态的实现。   高并发是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况,主要发生在web系统集中大量访问或者...

2018-06-22 19:33:19 246 0

转载 从零手写RPC

RPC概述RPC(Remote Proceduce Call 远程过程调用) 一般用来实现部署在不同机器上的系统之间的方法调用,使程序能够像访问本地系统资源一样,通过网络传输过去访问远端系统资源。RPC 调用过程Client 客户端调用方法实现,负责发起RPC调用。ClientStub/Serev...

2018-06-22 09:01:26 174 0

转载 一个用消息队列 的人,不知道为啥用 MQ,这就有点尴尬

引言为什么写这篇文章?博主有两位朋友分别是小A和小B:小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。每天过的都是这种生活,技术零成...

2018-06-05 16:28:31 63110 9

转载 Java实现简单的RPC框架

一、RPC简介RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。    RPC示意图如上图...

2018-06-04 13:54:46 180 0

转载 Netty 5用户指南

原文地址:http://netty.io/wiki/user-guide-for-5.x.html    译者:光辉勇士      校对:郭蕾前言问题现如今我们使用通用的应用程序或者类库来实现系统之间地互相访问,比如我们经常使用一个HTTP客户端来从web服务器上获取信息,或者通过web serv...

2018-06-03 19:35:41 67 0

转载 如何开始接手一个项目

项目好与不好,它就在那里;架构优雅或者丑陋,它就在那里;注释有或者没有,它还在那里;文档乱或者不乱,它始终都在那里。不论它是什么样子的,线上就那样跑着。一般来讲,项目分为两种:1、为业务服务的项目,比如公司内部项目、电商项目、各种 app 项目;2、为技术服务的项目,比如开源中间件项目(dubbo...

2018-05-31 11:27:41 1491 0

转载 从 volatile 说起,可见性和有序性是什么

上一篇文章说了 CAS 原理,其中说到了 Atomic* 类,他们实现原子操作的机制就依靠了 volatile 的内存可见性特性。如果还不了解 CAS 和 Atomic*,建议看一下这篇文章。并发的三个特性首先说我们如果要使用 volatile 了,那肯定是在多线程并发的环境下。我们常说的并发场景...

2018-05-31 11:21:11 4002 1

转载 Spring AOP 和 动态代理技术

AOP 是什么东西首先来说 AOP 并不是 Spring 框架的核心技术之一,AOP 全称 Aspect Orient Programming,即面向切面的编程。其要解决的问题就是在不改变源代码的情况下,实现对逻辑功能的修改。常用的场景包括记录日志、异常处理、性能监控、安全控制(例如拦截器)等,总...

2018-05-31 11:19:57 111 0

转载 三种线程安全的单例模式

就算你没有用到过其他的设计模式,但是单例模式你肯定接触过,比如,Spring 中 bean 默认就是单例模式的,所有用到这个 bean 的实例其实都是同一个。单例模式的使用场景什么是单例模式呢,单例模式(Singleton)又叫单态模式,它出现目的是为了保证一个类在系统中只有一个实例,并提供一个访...

2018-05-31 10:37:13 3876 0

转载 Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM) (清晰,浅显)

class文件简介及加载     Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:  ...

2018-05-30 17:48:55 101 0

转载 Java 动态代理作用是什么?

Java 动态代理作用是什么?https://www.zhihu.com/question/20794107

2018-05-30 10:59:02 279 0

转载 Java 利用枚举实现单例模式

引言单例模式比较常见的实现方法有懒汉模式,DCL模式公有静态成员等,从Java 1.5版本起,单元素枚举实现单例模式成为最佳的方法。Java枚举基本用法枚举的用法比较多,本文主要旨在介绍利用枚举实现单例模式的原理,所以这里也主要介绍一些相关的基础内容。 首先,枚举类似类,一个枚举可以拥有成员变量,...

2018-05-27 20:50:13 98 0

转载 浅谈使用单元素的枚举类型实现单例模式

通常情况下,我们写单例模式的时候无非就是三个步骤:构造器私有化,声明私有静态变量,提供静态获取实例的方法。简单说就是以下这种方式:class SingletonA { private static SingletonA instence = new SingletonA(); pr...

2018-05-27 11:58:31 70 0

转载 fastjson使用(三) -- 序列化

https://blog.csdn.net/u011113654/article/details/50460787使用fastjson进行序列化,就是把JavaBean转换为JSON格式的数据。fastjson的序列化高度可控性,可以自己定制序列化。fastjson的定制序列化有很多中实现方式,主...

2018-05-25 11:40:33 251 0

转载 fastjson的@JSONField注解的一点问题

@JSONField看源码它可以作用于字段和方法上。引用网上说的,  一、作用Field       @JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称。 但是我在使用中,发现并不如上所说。例如@JSONField(name="proje...

2018-05-25 10:14:01 437 0

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