自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曾子墨

欢迎光临

  • 博客(164)
  • 资源 (3)
  • 收藏
  • 关注

转载 细说Redis分布式锁

序-碎碎叨叨在家办公的第N周,也不知道笔者工位上的键盘和显示器有没有想我,不知道会不会落灰太严重,被保洁阿姨扔掉了。笔者今天带来一篇关于redis锁的文章连敲带画码出此文,有一些细节,对redis锁不清晰的盆友不妨瞧一瞧。如果是有经验的盆友,挑挑毛病,那笔者是更感谢了~闲话不多,马上发车。正文-开门见山谈起redis锁,下面三个,算是出现最多的高频词汇:...

2020-03-30 15:31:12 123

转载 如何解决高并发,秒杀问题

相信不少人会被这个问题困扰,分享大家一篇这样的文章,希望能够帮到你!一、秒杀业务为什么难做?1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的...

2020-03-24 18:57:28 246

转载 理解Java中的引用传递和值传递

关于Java传参时是引用传递还是值传递,是一个讨论比较多的话题,有说Java中只有值传递,也有些地方说引用传递和值传递都存在,本篇记录思考过程,不保证正确性,感兴趣的同学一起讨论。1.基本类型和引用类型在内存中的保存Java中数据类型分为两大类,基本类型和对象类型。相应的,变量也有两种类型:基本类型和引用类型。基本类型的变量保存原始值,即它代表的值就是数值本身;而引用类型的...

2020-03-17 18:06:21 126

转载 Java多线程:由浅入深看synchronized的底层实现原理

前言前两篇文章,我们聊了聊线程/进程的概念,接着简单串了一下同步的方式方法。今天我们就单拎出来synchronized,好好捋一捋它的前世今生。正文小A:咱们前几天铺垫了这么多内容,今天是不是要好好的深挖一下原理的内容了?MDove:没错,接下来。我会从常见的synchronized加锁方式入手;引出Java对象在内存的布局,以及锁的存放位置;然后看一看锁在C++中的简单实现...

2019-10-12 15:14:32 194

转载 【Java并发编程之深入理解】Synchronized的使用

1.为什么要使用synchronized在并发编程中存在线程安全问题,主要原因有:1.存在共享数据 2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,同时synchronized可以保证一个线程的变化可见(可见性),即可以代替volatile。2.实现原理synchronized可以保证方法或者代码块在运行时,同一时...

2019-10-12 15:13:40 155

转载 关于HTTP协议,一篇就够了

HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系...

2018-11-14 14:30:52 265

转载 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】

作者:韩昊知乎:Heinrich微博:@花生油工人知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。 转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。 ——更新于2014.6.6,想直接看更新的同学可以直接跳到第四章————

2017-02-23 12:15:27 543

转载 java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时

2016-03-31 16:06:35 571

转载 数据库索引的实现原理

说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。为表设置索引要付出代价的:一是增

2016-03-30 17:36:15 606 1

转载 StringUtils的isBlank与isEmply

制表符、换行符、换页符和回车符

2016-03-26 14:38:20 882

转载 Java泛型的实现原理

由于前一段时间发现公司有些代码重复性很大,可以使用泛型方法简化,所以向领导提出,领导就让我整理了一下关于泛型的只是分享给大家。一、Java泛型介绍     泛型是Java 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。        Java泛型被引入的好处是安全

2016-03-01 17:54:02 12471 3

转载 手把手教你使用Git

一:Git是什么?       Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别?      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够

2016-02-24 15:13:26 527

转载 Java并发编程:深入剖析ThreadLocal

Java并发编程:深入剖析ThreadLocal  想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。  以下是本文目录大纲:  一.对ThreadLocal的理解

2016-02-19 01:48:06 652

转载 innodb 多版本并发控制原理详解

多版本并发控制技术已经被广泛运用于各大数据库系统中,如Oracle,MS SQL Server 2005+, Postgresql, Firebird, Maria等等,开源数据库MYSQL中流行的INNODB引擎也采用了类似的并发控制技术.本文就将结合实例来解析不同事务隔离等级下INNODB的MVCC实现原理.1 MVCC概述1.1 MVCC简介MVCC (Multi

2016-02-18 23:36:50 7433 1

转载 深入研究 Java Synchronize 和 Lock 的区别与用法

在分布式开发中,锁是线程控制的重要途径。Java为此也提供了2种锁机制,synchronized和lock。做为Java爱好者,自然少不了对比一下这2种机制,也能从中学到些分布式开发需要注意的地方。 我们先从最简单的入手,逐步分析这2种的区别。 一、synchronized和lock的用法区别 synchronized:在需要同步的对象中加入此控制,synchronized

2016-02-18 11:22:45 1208

转载 Spring-data-redis: 分布式队列

Spring-data-redis: 分布式队列返回脚本百事通Redis中list数据结构,具有“双端队列”的特性,同时redis具有持久数据的能力,因此redis实现分布式队列是非常安全可靠的。它类似于JMS中的“Queue”,只不过功能和可靠性(事务性)并没有JMS严格。Redis中的队列阻塞时,整个connection都无法继续进行其他操作,因此在基于连接池设计是需要

2016-01-07 10:07:49 11804 7

转载 海量数据处理的 Top K算法(问题) 小顶堆实现

问题描述:有N(N>>10000)个整数,求出其中的前K个最大的数。(称作Top k或者Top 10)  问题分析:由于(1)输入的大量数据;(2)只要前K个,对整个输入数据的保存和排序是相当的不可取的。        可以利用数据结构的最小堆来处理该问题。        最小堆如图所示,对于每个非叶子节点的数值,一定不大于孩子节点的数值。这样可用含有K个节点的最小堆来

2015-08-19 17:44:37 1276

转载 十道海量数据处理面试题与十个方法大总结

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-08-11 14:46:57 666

转载 JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释

jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。HotSpot虚拟机GC算法采用分

2015-04-15 16:43:55 4790 1

转载 一分钟教你知道乐观锁和悲观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会

2015-03-09 10:44:27 692

转载 Windows下Redis的安装使用

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。

2015-03-04 16:26:27 635

转载 分布式与集群的区别

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的

2015-02-09 22:07:53 1867

转载 理解RESTful架构

越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必

2015-02-06 16:39:29 483

转载 Thrift 是什么?

Thrift  是什么?  Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传 输通信以及系统之间语言环境不同需要跨平台的特性。所以thrift可以支持多种程序语言,例如:  C++, C#, Cocoa, Erlan

2015-02-06 16:26:26 848

转载 数据库Oracle DB2 MySQL 分页

DB2分页查询和Oracle、SQL中的分页查询语句写法都不太一样,下面就为您介绍DB2分页查询和其他数据库中分页查询的区别,希望对您有所帮助。Oracle分页查询写法:一:Oracleselect * from (select rownum,name from table where rownum =endIndex )   where rownum > startIndex

2015-02-06 15:06:28 880

转载 解读NoSQL数据库的四大家族

在目前的企业IT架构中,系统管理员以及DBA都会考虑使用NoSQL数据库来解决RDBMS所不能解决的问题,特别是互联网行业。传统的关系型数据库主要以表(table)的形式来存储数据,而无法应对非结构化数据的挑战。在进行数据标准化的过程中,关系型数据库性能遭遇了瓶颈。   NoSQL顾名思义就是Not-Only SQL,它可以作为关系型数据库的良好补充。在TechTarget数据库之前的报道

2015-02-05 17:25:33 861

转载 分布式session处理方案

在分布式集群环境下,session的获取就不能采用request.setSession了。那么如何解决分布式session的问题呢,有以下几个方案:1.tomcat容器自动同步session。详见http://www.360doc.com/content/10/0309/14/495229_18116558.shtml2.其它方案:alibaba b2b采用的cookie的

2015-02-02 15:25:10 3186 1

转载 为什么在12306买火车票要装根证书?

为什么在12306买火车票要装根证书?12306主页上有一段很显眼的文字—--“为保障您顺畅购票,请下载安装根证书。”这段文字和12306很多的其他问题一起成为网友诟病12306的话题,但是这个看似安全的根证书确可能会成为让12306用户们的安全受到严重威胁的东西。  为什么在12306上买火车票要装根证书?想要回答这个问题,那么我们就必须先要提前回答说几个

2015-01-29 17:18:09 1833

转载 ssl双向认证和单向认证原理

有朋友在搞一个项目,周末有聊到一些安全性的东西,很自然会想起https,但https究竟如何实施,其原理又是什么?     基于ssl,一般的应用都是单向认证,如果应用场景要求对客户来源做验证也可以实现成双向认证。    网上google一下:     为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。SSL 协议既用到了公钥加密

2015-01-21 17:35:10 929

转载 Spring security初探

现在很多企业和开发团队都使用了SSH2(Struts 2 +Spring 2.5 +Hibernate)框架来进行开发,  我们或许已经习惯了强大的Spring Framework 全局配置管理,不可否认,Sping是一个很优秀的开源框架,但是由于Spring3.0版本后强大的的注解式bean的诞生,Spring MVC框架这匹黑马正悄然杀起,但今天Spring MVC不是主角,今天我和大家分享一

2015-01-16 17:25:55 616

转载 数据库事务隔离级别

数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现    ×: 不会出现脏读不可重复读幻读Read uncommitted√√√Re

2015-01-15 09:25:50 455

转载 Spring事务传播机制详解

1 事务的传播属性(Propagation) 1) REQUIRED ,这个是默认的属性 Support a current transaction, create a new one if none exists. 如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。 被设置成这个级别时,会为每一个被调用的方法创建一个逻辑事务域。如果前面的方法已经创建了事务,那

2015-01-14 14:37:07 1381

转载 Hibernate get和load区别

get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 1.从返回结果上对比:load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常get方法检索不到的话会返回null 2.从检索执行机制上对比: get方法和find方法都是直接从数

2015-01-14 14:04:28 482

转载 Hibernate延迟加载实现原理

通过将class的lazy属性设置为true,来开启实体的延迟加载特性。如果我们运行下面的代码:User user=(User)session.load(User.class,"1");(1)   System.out.println(user.getName());                 (2) 当运行到(1)处时,Hibernate并没有发起对数据的查询,如果

2015-01-14 13:59:18 444

转载 spring ioc原理(看完后大家可以自己写一个spring)

最近,买了本Spring入门书:spring In Action 。大致浏览了下感觉还不错。就是入门了点。Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬的心情和激情通览了一遍。又一次接受了IOC 、DI、AOP等Spring核心概念。 先就IOC和DI谈一点我的看法。IOC(DI):其实这个Spring架构核心的概念没有这么复杂,更

2015-01-14 09:29:03 533

转载 Apache所有项目介绍

1   HTTP Server  HTTP Server是目前最流行的HTTP服务器软件之一。其优势主要在于快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费而且完全源代码开放。如果需要创建一个每天有数百万人访问的Web服务器,Apache HTTP Server会是最佳的选择。     2   Abdera  Apache Abdera是

2015-01-13 13:58:30 1375

转载 SpringMVC集成Tiles2

介绍Tiles2如今,网站一般被划分成片正在呈现不同的网页之间的可重复使用的模板。例如,一个网站中包含头,页脚,菜单等,这项目仍然通过了该网站,并给它一个共同的外观和感觉。这是非常困难的硬编码在每一个网页,如果以后需要改变,不是所有的页面需要进行修改。因此,我们使用模板化机制。我们创建了一个共同的页眉,页脚,菜单页面,包括在每个页面。瓷砖插件允许模板和组件。事实上,这两种机制是相似

2015-01-13 13:56:13 714

转载 Hibernate与 MyBatis的比较

最近做了一个Hibernate与MyBatis的对比总结,希望大家指出不对之处。第一章     Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。MyBatis 参考资料官网:

2015-01-12 17:31:25 609

转载 Spring的事务配置

Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。    DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为SessionFactory,T

2015-01-09 16:03:52 467

转载 java开发webservice的几种方式

汇总,四种方式:ax2,CXF,jdk自带,xfirewebservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录。1.Axis2Axis是apache下一个开源的webservice开发组件,出现的算是比较早了,也比较成熟。这里主要介绍Axis+eclipse开发webservice,当然不用eclip

2015-01-09 13:29:25 1781

如何设计秒杀系统 秒杀系统架构优化思路

如何设计秒杀系统

2024-02-18

FileZilla.app.zip

Mac Ftp工具。FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。

2020-03-30

Sigar相关jar(包含类库)

Sigar相关jar(包含类库),支持windows和linux

2013-01-30

Sigar相关jar

Sigar相关jar 开源的工具,提供了跨平台的系统信息收集的API

2012-10-17

空空如也

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

TA关注的人

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