- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 ConcurrentHashMap和Hashtable的区别
为什么我们需要ConcurrentHashMap和CopyOnWriteArrayList同步的集合类(Hashtable和Vector),同步的封装类(使用Collections.synchronizedMap()方法和Collections.synchronizedList()方法返回的对象)可以创建出线程安全的Map和List。但是有些因素使得它们不适合高并发的系统。它们仅有单个锁,对整...
2018-11-26 18:13:08 118
转载 HashMap的工作原理
从本文你可以学习到:什么时候会使用HashMap?他有什么特点? 你知道HashMap的工作原理吗? 你知道get和put的原理吗?equals()和hashCode()的都有什么作用? 你知道hash的实现吗?为什么要这样实现? 如果HashMap的大小超过了负载因子(load factor)定义的容量,怎么办?当我们执行下面的操作时: 1 ...
2018-11-26 18:01:20 181
转载 HashMap和HashSet的区别
1、为什么用HashMap?HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射 HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改 HashMap是非synchronized,所以HashMap很快 HashMap可以接受null键和值,而Hashtable则不能(原因就是equlas()方法需要对象,因...
2018-11-30 12:49:21 49272 8
转载 架构师之路-在Dubbo中开发REST风格的远程调用
概述dubbo支持多种远程调用方式,例如dubbo RPC(二进制序列化 + tcp协议)、http invoker(二进制序列化 + http协议,至少在开源版本没发现对文本序列化的支持)、hessian(二进制序列化 + http协议)、WebServices (文本序列化 + http协议)等等,但缺乏对当今特别流行的REST风格远程调用(文本序列化 + http协议)的支持。有鉴于...
2018-11-29 10:09:38 540
转载 如何实现一个简单的RPC
在如何给老婆解释什么是RPC中,我们讨论了RPC的实现思路。那么这一次,就让我们通过代码来实现一个简单的RPC吧!RPC的实现原理正如上一讲所说,RPC主要是为了解决的两个问题:解决分布式系统中,服务之间的调用问题。 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。还是以计算器Calculator为例,如果实现类CalculatorImpl是放在本地的,那么...
2018-11-29 09:53:07 144
转载 MYSQL 全套资料
MySQL简介1、什么是数据库 ?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。主流的数...
2018-11-18 21:45:54 974 1
转载 springmvc参数效验
SpringMVC参数校验Java的小本家 2018-11-13 22:02:23使用SpringMVC时配合hibernate-validate进行参数的合法性校验,能节省一定的代码量。1.搭建Web工程并引入hibernate-validate依赖<dependency> <groupId>org.hibernate.validator</gr...
2018-11-18 21:42:21 204
转载 java 遍历Map 的五种方法
遍历Map的方法, 我总结了5种, CoreJava中给出的是第一种使用forEach+lambda表达式, 我认为这种方法应该是最好的, 但是只能在Java8之后的版本使用;建议优先使用第一种和第四种(类似第二种);遍历Map:第一种可以使用Map的forEach方法加上Java8的lambda表达式: 第二种可以使用Map.Entry来遍历Map的条目: 第...
2018-11-18 21:35:43 963
转载 MySQL 大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化。单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量。字段尽量使用TINYINT、S...
2018-11-14 10:05:49 138
转载 SQLServer数据库中截取字符串的常用方法
SQLServer中的字符串的几个常用操作方法,注释很清楚就不多解释了,如下:/****** Sql Server中截取字符串的常用方法 ******/ TESTCODESTRING='01378a77517a41e982b14cc97b1f8794'--1、LEFT()方法-----函数说明-----1)语法:LEFT(character,integer) --2)介绍:参...
2018-11-10 18:22:22 12781
转载 详解Spring Boot 配置加载顺序及属性加载顺序
先给大家介绍下spring boot 配置加载顺序,具体内容如下所示:使用 Spring Boot 会涉及到各种各样的配置,如开发、测试、线上就至少 3 套配置信息了。Spring Boot 可以轻松的帮助我们使用相同的代码就能使开发、测试、线上环境使用不同的配置。在 Spring Boot 里面,可以使用以下几种方式来加载配置。本章内容基于 Spring Boot 2.0 进行详解。...
2018-11-09 17:46:11 10016
转载 Redis为何这么快——数据存储角度
一、简介和应用Redis是一个由ANSI C语言编写,性能优秀、支持网络、可持久化的K-K内存数据库,并提供多种语言的API。它常用的类型主要是 String、List、Hash、Set、ZSet 这5种 Redis在互联网公司一般有以下应用:String:缓存、限流、计数器、分布式锁、分布式Session Hash:存储用户信息、用户主页访问量、组合查询 Lis...
2018-11-07 19:12:10 265
转载 mybatis模糊查询防止sql注入
SQL注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以,在我们的应用中需要做一些工作,来防备这样的攻击方式。在一些安全性要求很高的应用中(比如银行软件),经常使用将SQL语句全部替换为存储过程这样的方式,来防止SQL注入。这当然是一种很安全的方式,但我们平时开发中,可...
2018-11-06 18:07:35 635
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人