- 博客(81)
- 资源 (6)
- 收藏
- 关注
原创 JAVA并发集合之CopyOnWriteSet
CopyOnWriteArrayList和CopyOnWriteArraySet使用了COW的思想,在执行读操作的时候,不加任何锁,因为读操作没有涉及数据的修改,也就不存在线程不安全的问题,所以不加锁可以提高效率,而在执行写操作的时候,并不是直接在原来的数据上进行修改,而是将原来的数据拷贝一份,在这个副本上进行修改,写完之后,再将修改完的副本替换成原来的数据,这样就可以保证写操作不会影响读操作了。也就是说写一半的时候也不会阻塞读操作,因为读的还是原来的数据。
2023-02-22 11:41:11
480
原创 JAVA并发集合之CopyOnWriteArrayList
CopyOnWriteArrayList(写数组的拷贝)是ArrayList的一个线程安全的变体,CopyOnWriteArrayList和CopyOnWriteSet都是线程安全的集合,其中所有可变操作(add、set等等)都是通过对底层数组进行一次新的复制来实现的。
2023-02-22 11:08:01
213
原创 JAVA集合之Map >>HashMap/Hashtable/TreeMap/LinkedHashMap结构
Map 下HashMap、Hashtable、TreeMap、LinkedHashMap结构。
2023-02-21 16:30:03
466
原创 JAVA集合之List >> Arraylist/LinkedList/Vector结构
List下实现类Arraylist/LinkedList/Vector的数据结构及区别
2023-02-15 17:04:11
405
原创 Java代码规范在线检测,为你的代码做个X光扫描
《阿里巴巴Java开发手册》是阿里内部Java工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等,这是近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善。这是阿里回馈给Java社区的一份礼物,希望能够帮助企业开发团队在Java开发上更高效、容错、有协作性,提高代码质量,降低项目维护成本。9月底,《阿里巴巴Java开发手册(终极版)》正式发布。同时,「阿里巴巴编码规范」认证考试上线,50道题目,测试你对规范的了解程度。认证考试
2021-06-16 15:03:16
634
原创 Ubuntu 配置固定IP地址
系统:14.04首先进入界面 : ctrl + alt + F7点击箭头指向的地方->然后选择“编辑链接”选中-点击编辑选中“手动”,配置IP地址相关,勾选 IPV4 。然后保持即可切换到代码界面 : Ctrl + alt + F6 。输入 ifconfig看下是否生效。如果没有生效-可以尝试下重启网卡。以下代码,我用的是第2个。$ service network restart$ service network-manager ...
2020-11-09 23:28:11
1012
转载 Spring MVC异常统一处理的三种方式
Spring 统一异常处理有 3 种方式,分别为:使用 @ ExceptionHandler 注解 实现 HandlerExceptionResolver 接口 使用 @controlleradvice 注解使用 @ ExceptionHandler 注解使用该注解有一个不好的地方就是:进行异常处理的方法必须与出错的方法在同一个Controller里面。使用如下:@Controller public class GlobalController {
2020-10-06 16:08:15
507
转载 java 异常大全
算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件已结束异常:EOFEx...
2019-05-23 15:36:58
1122
原创 Lambda 表达式DEMO 案列
首先新建一个测试Bean package com.lambda.bean;public class Employee { private String name; private Integer age; private float price; private Status status; public Employee(){ }...
2019-01-25 17:46:18
514
原创 将 maven 仓库配置到阿里云
1. 下载maven 。下载地址:http://maven.apache.org/download.cgi2. 解压maven,配置 maven/conf/settings.xml 文件 <mirrors><!-- 加入如下代码:阿里云仓库配置 --> <mirror> <id>alimaven</id&...
2018-11-12 16:23:58
473
1
转载 JDK自带工具keytool生成ssl证书
转:https://www.cnblogs.com/zhangzb/p/5200418.html前言:因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全。百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具:keytool,外加看了同事的心得体会,自己总结了一下具体的使用方法和使用过程中发现的问题及解决...
2018-11-09 16:20:56
698
转载 Springboot静态文件不更新的解决办法,以及Springboot实现热部署
之前写Spring MVC项目的时候完全没有这样的问题,经过一阵摸索和百度,最后解决了这个问题,目前百度谷歌到的答案其实都不完整(甚至压根就是错的) 先说第一个问题:更新html,css,js文件以后,为啥Update classes and resources不更新呢?因为我这里用了Springboot推荐的第一个web模板引擎--> thymeleaf这里纯属个人猜测了...
2018-11-05 16:33:00
9277
3
转载 RBAC用户角色权限设计方案
转自http://www.cnblogs.com/zwq194/archive/2011/03/07/1974821.htmlRBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者...
2018-11-01 10:02:31
369
转载 MySQL主从同步常见异常及恢复方法
mysql主从同步常见异常及恢复方法 1. 一般的异常只需要跳过一步即可恢复>slave stop;>SET GLOBAL sql_slave_skip_counter = 1;>slave start; 2.断电导致主从不能同步时,通主库的最后一个bin-log日志进行恢复在主库服务器上,mysqlbinlog mysql-bin.xxxx &g...
2018-07-20 17:58:49
1873
转载 数据库高可用方案
低读低写并发、低数据量方案方案一:双机高可用方案1.数据库架构图 2.特点 一台机器A作为读写库,另一台B作为备份库;A库故障后B库作为读写库;A库恢复后A作为备库。3.开发说明此种情况下,数据源配置中的数据库IP地址,可采用虚拟的IP地址。虚拟IP地址由两台数据库机器上的keepalive配置,并互相检测心跳。当其中一台故障后,虚拟IP地址会自动漂移到另外一台正常的库上。数据库的主备配置、...
2018-06-19 18:47:13
2378
转载 dubbo配置hessian+dubbo协议共存
根据官方说明:Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况Hessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用Servlet暴露服务。适用场景:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。因此比较高效的做法是带上传下载文件的服务使用hessian协议...
2018-03-08 20:57:56
708
转载 搭建 Zookeeper-3.4.10 集群
先准备好三台linux(虚拟机)。1. 先把Java环境配好。我CentOS7 + jdk1.8.0_1311.1 先把jdk上传到系统里面(如果不会的话去百度),我在系统的根目录建了一个文件夹mysoft,用来存放需要的安装包,比如jdk、Zookeeper1.2 然后cd 到/usr/local/下,建立一个文件夹用来存放jdkcd /usr/local/mkdir javacd ja...
2018-03-08 11:27:00
1106
转载 Dubbo基本原理机制
分布式服务框架:–高性能和透明化的RPC远程服务调用方案–SOA服务治理方案-Apache MINA 框架基于Reactor模型通信框架,基于tcp长连接Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况分析源代码,基本原理如下:client一个线程调用远程接口,生成一个唯一的ID(比如一段随机字符串,UUID等)...
2018-03-05 14:34:25
701
转载 Redis各个数据类型的使用场景
Redis列表命令参考:http://www.redis.net.cn/tutorial/3501.html使用场景StringString数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字。 常规key-value缓存应用; 常规计数:微博数,粉丝数等。hashRedis hash是一个strin
2018-01-23 10:43:19
248
转载 jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令
公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子。昨天晚上总结了一下jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令。供大家参考 1.Jstack 1.1 jstack能得到运行java程序的java stack和native stack的信息。可以轻松得知当前线程的运行情况。如下图所示 注:这个和thread dum
2018-01-20 20:48:13
237
转载 dubbo源码分析(二):超时原理以及应用场景
dubbo源码分析(二):超时原理以及应用场景本篇主要记录dubbo中关于超时的常见问题,实现原理,解决的问题以及如何在服务降级中体现作用等。超时问题为了检查对dubbo超时的理解,尝试回答如下几个问题,如果回答不上来或者不确定那么说明此处需要再多研究研究。我只是针对个人的理解提问题,并不代表我理解的就是全面深入的,但我的问题如果也回答不了,那至少说明理解的确是
2018-01-15 20:51:35
260
转载 是什么让程序员成了一份苦逼的工作?
SmartX 创建可扩展且易于使用的计算和数据基础架构,提升企业 IT 能力,让企业集中精力在帮助商业运转的应用和创新上。通过先进的软件定义数据中心理念与互联网技术架构,为企业在通用 x86 硬件平台上构建高可靠、水平扩展、高性能、易管理的 IT 基础架构,大幅降低数据中心的总体拥有成本与管理运维难度。三位创始人均为清华计算机系硕士毕业。徐文豪 UBC 计算机系硕士
2018-01-15 18:08:04
319
转载 常用的并发集合
并发List Vector和CopyOnWriteArrayList是两个线程安全的List,Vector读写操作都用了同步,相对来说更适用于写多读少的场合,CopyOnWriteArrayList在写的时候会复制一个副本,对副本写,写完用副本替换原值,读的时候不需要同步,适用于写少读多的场合。 并发Set CopyOnWriteArraySet基于Copy
2018-01-11 10:22:42
7995
转载 如何解决主从数据库同步延迟问题?
主机与备机之间的物理延迟是不可控的,也是无法避免的。但是如果仅仅需要满足这种强一致性,是相对简单的事:只需要在主机写入时,确认更新已经同步到备机之后,再返回写操作成功即可。主流数据库均支持这种完全的同步模式。已经有人提到MySQL的Semi-sync功能(从MySQL5.6开始官方支持,此前的版本可以考虑Google出的非官方补丁),就是基于这种原理。 不过,一般不建议使用这种同步模式。
2018-01-10 16:47:05
7518
转载 最近项目用到Dubbo框架,临时抱佛脚分享一下共探讨。
1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者
2018-01-10 16:11:23
581
转载 Queue
关于同步类容器和并发类容器,高性能ConcurrentLinkedQueue,阻塞式BlockingQueue接口的一些实现,例如ArrayBlockQueue,LinkedBlockingQueue,SynchronousQueue,PriorityBlockingQueue,DelayQueue的实现及一些应用场景1.关于同步类容器和并发类容器[java] vi
2017-12-20 16:26:27
244
转载 PowerDesigner16配置显示注释列comment配置方法
无论15还是16.视图中都没有直接设置显示属性字段注释的配置,因此需要通过间接的方式显示注释,操作的流程图如下原始样式显示操作调出执行命令的接口命令:从comment替换name[java] view plain cop
2017-10-12 11:41:33
320
转载 消息队列应用场景
1异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。(1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KKQ:466097527,欢迎加入)(2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户
2017-09-04 01:43:14
245
转载 Mysql-索引-BTree类型【精简版】
Mysql-索引-BTree类型【精简版】。网络上看了很多关于B-TREE的总结,b树,B-树,B+树,B*树(艾玛怎么还4个呢?都快蒙圈了呢), 有的真的很精彩令人佩服,但是都是篇幅太长啊,一大长段的文字就让人望而生畏啊。干脆做一个简化版的总结,通俗移动点介绍下,说说他们的区别。一.B树 Binary Tree,就是一个二叉树。(什么K呀h,n啥的公式这里不说了,有兴趣的可以自己搜搜..
2017-08-12 01:53:01
455
转载 Mysql几种索引类型的区别及适用情况
如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引
2017-08-12 01:52:01
483
转载 redis的 rdb 和 aof 持久化的区别
redis的 rdb 和 aof 持久化的区别url: http://ptc.35.com/?p=275aof,rdb是两种 Redis持久化的机制。用于crash后,redis的恢复。rdb的特性如下:Code:fork一个进程,遍历hash table,利用copy on write,把整个db dump保存下来。save, shutdown, slave 命令会触
2017-07-13 00:52:50
372
转载 Redis 内存淘汰机制详解
摘要Redis是一款优秀的、开源的内存数据库,我在阅读Redis源码实现的过程中,时时刻刻能感受到Redis作者为更好地使用内存而费尽各种心思,例如最明显的是对于同一种数据结构在不同应用场景下提供了基于不同底层编码的实现(如压缩列表、跳跃表等)。今天我们暂时放下对Redis不同数据结构的探讨,来一起看看Redis提供的另一种机制——内存淘汰机制。探初衷Redis内存淘汰指的
2017-07-13 00:34:22
440
转载 java lock remark
摘要:我们已经知道,synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题。本文以synchronized与Lock的对比为切入点,对Java中的Lo
2017-07-06 13:54:15
458
转载 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步。对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致。 这样做的好处多。 1. 可以做灾备,其中一个坏了可以切换到另一个。 2. 可以做负载均衡,可以将请求分摊到其中任何一台上,提高网站吞吐量。 对于异地热备,尤其适合灾备。废话不多说了。我们直接进入主题。 我们会主要介绍两部分内容:一, MySQL 备
2017-05-22 10:09:29
652
转载 mysql死锁问题分析
线上某服务时不时报出如下异常(大约一天二十多次):“Deadlock found when trying to get lock;”。 Oh, My God! 是死锁问题。尽管报错不多,对性能目前看来也无太大影响,但还是需要解决,保不齐哪天成为性能瓶颈。 为了更系统的分析问题,本文将从死锁检测、索引隔离级别与锁的关系、死锁成因、问题定位这五个方面来展开讨论。
2017-05-02 14:06:12
298
percona-toolkit使用教程
2018-09-03
目录多文件上传-JAVA IO流常用详解
2013-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人