7 scyxm0426

尚未进行身份认证

暂无相关描述

等级
TA的排名 6w+

Java并发编程:并发容器之CopyOnWriteArrayList

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。...

2018-10-19 14:22:21

写给工程师的十条精进原则

引言时间回到8年前,我人生中第一份实习的工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可谓意气风发,想要大干一场,结果第一次上线就写了人生中第一个Casestudy。由于对部署环境的不了解,把SVN库里的配置文件错误地发到线上,并且上完线就去吃晚饭了,等吃饭回来发现师傅在焦头烂额地回滚配置。那次故障造成了一个核心服务20分钟不可用,影响了几百万的用户。这仅仅是一个开始,在后来半...

2018-09-10 11:13:07

Java NIO系列五之拥抱Path和Files

一文件I/O基石:PathJava7中文件IO发生了很大的变化,专门引入了很多新的类来取代原来的基于java.io.File的文件IO操作方式:importjava.nio.file.DirectoryStream;importjava.nio.file.FileSystem;importjava.nio.file.FileSystems;importjava.nio.f...

2018-08-15 11:17:09

Java NIO系列七之 AsynchronousFileChannel异步文件通道

Java7中新增了AsynchronousFileChannel作为nio的一部分。AsynchronousFileChannel使得数据可以进行异步读写。下面将介绍一下AsynchronousFileChannel的使用。创建AsynchronousFileChannel(CreatinganAsynchronousFileChannel)AsynchronousFileChanne...

2018-08-15 11:13:31

JAVA NIO系列六之NIO学习总结以及NIO新特性介绍

我们知道是NIO是在2002年引入到J2SE1.4里的,很多Java开发者比如我还是不知道怎么充分利用NIO,更少的人知道在JavaSE7里引入了更新的输入/输出API(NIO.2)。但是对于普通的开发者来说基本的I/O操作就够用了,而NIO则是在处理I/O性能优化方面带来显著性效果。更快的速度则意味着NIO和NIO.2的API暴露了更多低层次的系统操作的入口,这对于开发者而言则意味着更复...

2018-08-15 11:12:03

Java NIO系列四之Selector(选择器)

一Selector(选择器)介绍Selector一般称为选择器,当然你也可以翻译为多路复用器。它是JavaNIO核心组件中的一个,用于检查一个或多个NIOChannel(通道)的状态是否处于可读、可写。如此可以实现单线程管理多个channels,也就是可以管理多个网络链接。 使用Selector的好处在于:使用更少的线程来就可以来处理通道了,相比使用多个线程,避免了...

2018-08-15 11:10:30

Java NIO系列三 之 Channel(通道)

一Channel(通道)介绍通常来说NIO中的所有IO都是从Channel(通道)开始的。 从通道进行数据读取 :创建一个缓冲区,然后请求通道读取数据。 从通道进行数据写入 :创建一个缓冲区,填充数据,并要求通道写入数据。 数据读取和写入操作图示:JavaNIOChannel通道和流非常相似,主要有以下几点区别: 通道可以读也可以写,流一般来说是单向...

2018-08-15 11:09:26

Java NIO系列二 之 Buffer(缓冲区)

一Buffer(缓冲区)介绍JavaNIOBuffers用于和NIOChannel交互。我们从Channel中读取数据到buffers里,从Buffer把数据写入到Channels.Buffer本质上就是一块内存区,可以用来写入数据,并在稍后读取出来。这块内存被NIOBuffer包裹起来,对外提供一系列的读写方便开发的接口。在JavaNIO中使用的核心缓冲区如下(覆盖了通...

2018-08-15 11:08:03

Java NIO系列一之概览

一NIO简介JavaNIO是java1.4之后新出的一套IO接口,这里的的新是相对于原有标准的JavaIO和JavaNetworking接口。NIO提供了一种完全不同的操作方式。NIO中的N可以理解为Non-blocking,不单纯是New。它支持面向缓冲的,基于通道的I/O操作方法。随着JDK7的推出,NIO系统得到了扩展,为文件系统功能和文件处理提供了增强的支持...

2018-08-15 11:06:32

KAFKA--几个基本概念

几个基本概念:  Kafka是一个分布式流数据系统,使用Zookeeper进行集群的管理。与其他消息系统类似,整个系统由生产者、BrokerServer和消费者三部分组成,生产者和消费者由开发人员编写,通过API连接到BrokerServer进行数据操作。我们重点关注三个概念:  Topic,是Kafka下消息的类别,类似于RabbitMQ中的Exchange的概念。这是逻辑上的概...

2018-07-19 15:48:53

java队列——queue详细分析

Queue:基本上,一个队列就是一个先入先出(FIFO)的数据结构Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接口。 Queue的实现1、没有实现的阻塞接口的LinkedList:实现了java.util.Queue接口和java.util.AbstractQueue接口  内置的不阻塞队列: Prior...

2018-07-19 15:17:30

并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue用法

 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列(先进先出)。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全就是说多线程访问...

2018-07-19 11:16:45

分布式之消息队列复习精讲

为什么写这篇文章?博主有两位朋友分别是小A和小B:小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。每天过的都是这种生活,技术零成长。小B,工作于某国企,虽然能接触到一些中间件技术。然而,他只会订阅/发布消息。通俗点说,就是调调API。...

2018-06-26 17:27:00

MYSQL 分区自动管理

一、 MYSQL的分区表简介1.什么是表分区?是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。例如:CREATETABLE`rangeyear_t1_kafka_consume_log`(`id`int(11)NOTNULLCOMMENT'id',`create_time`datetime...

2018-06-26 15:17:22

MySQL表自动生成Java实体类

      最近开发报表到web页面展示,由于数据库中标字段多达50多个,写起来非常费劲,写下这个工具,talkischeap,showthecodes...packagecom.sf.test;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjav...

2018-06-25 17:36:22

Spring定时器多定时任务配置

<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springfr

2018-05-10 14:08:59

java对redis的基本操作

一、server端安装  1、下载    https://github.com/MSOpenTech/redis    可看到当前可下载版本:redis2.6        下载windows平台文件:              解压后,选择当前64位win7系统对应的版本:       2、安装    1)解压后将里面所有文件拷贝至redis安装目录:          几个exe程序的功能: ...

2018-04-12 10:09:39

java中几种常见的NPE问题

1、Map下的NPE   直接上代码:[java] viewplain copypublic class User {        private Integer id;        private String name;        public Integer getId() {    

2018-01-29 15:28:41

在Java8的foreach()中使用return/break/continue,不会跳出循环

今天使用lambda表达式处理集合时,发现对return、break以及continue的使用有点迷惑,于是自己动手测试了一下,才发现在使用foreach()处理集合时不能使用break和continue这两个方法,也就是说不能按照普通的for循环遍历集合时那样根据条件来中止遍历,而如果要实现在普通for循环中的效果时,可以使用return来达到,也就是说如果你在一个方法的lambda表达式中使用

2017-12-29 11:52:14

Mysql查询结果顺序按 in() 中ID 的顺序排列

[java] viewplain copy"queryGBStyleByIDs" resultMap="styleMap">          select style_num_id ,style_id,style_title,style_pic FROM  gb_style where online = 1 AND  is_hide = 0 and styl

2017-12-11 17:57:35

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!