IO通信模型(一)同步阻塞模式BIO(Blocking IO)
阻塞IO 和非阻塞IO 这两个概念是程序级别的。主要描述的是程序请求操作系统IO操作后,如果IO资源没有准备好,那么程序该如何处理的问题:前者等待;后者继续执行(但是使用线程一直轮询,直到有IO资源准备...
阻塞IO 和非阻塞IO 这两个概念是程序级别的。主要描述的是程序请求操作系统IO操作后,如果IO资源没有准备好,那么程序该如何处理的问题:前者等待;后者继续执行(但是使用线程一直轮询,直到有IO资源准备...
本篇以秒杀场景为依据来主要从代码开发的角度阐述从无锁——》排他锁——》共享锁——》缓存中间件的一步步升级来不断完善及优化;同时也针对整体架构提出一些优化方案;
Java 操作 SHA1 加密和解密 一、引入依赖包 Maven <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.11</version> </dependency> <de...
使用HttpClient 发送 GET、POST、PUT、Delete请求及文件上传 本文示例是在 httpclient4.3.6 下进行的测试。 import java.io.File; import java.io.IOException; import java.io.Unsuppor...
Java对象与map对象相互转换 /** * 使用org.apache.commons.beanutils进行转换 */ class A { public static Object mapToObject(Map<String, Object> m...
在用java 写数据库应用的时候, 通常会生成各种报表,而这些报表可能会被导出为各种格式的文件,比如Excel文档,pdf 文档等等. 今天先做了一个生成Excel 文档的例子,主要解决以下问题: 生成 Excel 文档. ...
通常如果需要一次更新多条数据有两个方式 1、在业务代码中循环遍历逐条更新。 2、一次性更新所有数据(更准确的说是一条sql语句来更新所有数据,逐条更新的操作放到数据库端,在业务代码端展现的就是一次...
第一开始只能支持小尺寸的图片,宽度200或者以下的,稍微大点的出来的效果就走样了。 于是我便在转码之前改变了一下图片的大小。 效果如下 原图 转后图 废话不多说,呈上代码。 package com; import ...
打开终端,输入:/usr/libexec/java_home -V 注意:输入命令参数区分大小写(-v是不对的,必须是-V),最下面的表示当前使用的默认JDK,看得出我的电脑安装了两个JDK ➜ ~ /usr/libexec/java_home -V...
一、背景 相信大家在面试过程中遇到面试官问线程的很多,线程过后就是线程池了。从易到难,都是这么个过程,还有就是确实很多人在工作中接触线程池比较少,最多的也就是创建一个然后往里面提交线程,对于...
无论使用什么方式对List进行遍历,都不能直接对List<E>变量进行直接修改操作,比如: List<String> strList = new ArrayList<String>(); strList.add("john"); strList.add("mark"); strLi...
一、理解MVC MVC是一种经典的设计模式,全名为 Model-View-Controller,即模型-视图-控制器。 其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(Plain Ordinary Java Object)来表...
为了可以更好的管理Dubbo,可以先在本机搭建Dubbo管理平台 一、安装ZooKeeper环境 dubbo依赖zookeeper环境,首先保证本机安装了zookeeper,至于安装方法,只需要去官网zookeeper官网 下载,我这里是window...
Zookeeper 的安装 下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper 首先从官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录。“bin目录”中存放...
1、直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。 将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列。 对第四个数、第五个数...