- 浏览: 463116 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
java 读写锁 原理 和 实例
package thread; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.locks.ReentrantReadWriteLock; public class ReenReadWriteLockDemo { public static void main(String[] args) { Data data = new Data(); for(int i=0;i<3;i++){ new Thread(new Reader(data)).start(); new Thread(new Writer(data)).start(); } } } class Data{ private static final int length = 10; private List<Integer> dataList = new ArrayList<Integer>(length); private ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); public void get(Data data){ lock.readLock().lock(); try { if(data.dataList.size()>0){ System.out.println(Thread.currentThread().getName()+"--获取数据----"+data.dataList.remove(0)); } }finally{ lock.readLock().unlock(); } } public void set(Data data){ lock.writeLock().lock(); try { if(data.dataList.size()<data.length){ int num = new Random().nextInt(10000); dataList.add(num); System.out.println(Thread.currentThread().getName()+"--写入数据-------"+num); } }finally{ lock.writeLock().unlock(); } } } class Reader implements Runnable{ private Data data; public Reader(Data data){ this.data = data; } @Override public void run() { while(true) data.get(data); } } class Writer implements Runnable { private Data data; public Writer(Data data){ this.data = data; } @Override public void run() { while(true) data.set(data); } }
发表评论
-
实现虚拟机VMware上linux与windows互相复制与粘贴
2014-11-17 13:15 1351实现虚拟机VMware上linux与windows互相复制 ... -
java 虚拟机线程与操作系统内核线程之间的关系
2014-09-23 15:13 4691java jdk 中 线程操作与虚拟机中线程操作之间的关系映射 ... -
java 语法糖 分析(一,泛型与类型擦除)
2014-09-18 11:14 543语法糖是一种计算机术语,是为了更加方便理解计算机语言或者说 ... -
java 语言的静态多分派和动态单分派 的特性
2014-09-10 18:23 1110Java 语言的静态多分派和动态单分派特性。 先来熟悉概念: ... -
字节码验证 的高度对jvm的优化
2014-09-09 16:08 1169程序员对虚拟机的优化 ... -
接口与类的真正区别
2014-09-09 14:50 441接口与类不存在区别,除了字面修饰符不同外,其真正区别是: 当 ... -
jvm 初始化static 变量的类顺序
2014-09-09 14:42 726class Nolization{ static{ ... -
java static 类型变量定义技巧
2014-09-05 18:33 887java 变量的定义非常重要,在一定程度上可以减轻服务 ... -
eclipse 启动参数配置
2014-09-05 16:44 402参数见附件 -
too many open files 异常
2014-09-05 14:08 553每个Socket 连接都有 Receive 和 s ... -
堆转储快照(dump)的分析
2014-09-05 13:50 1099dump ,堆转储快照的详细分析,后面分析啊,现在没时 ... -
高性能硬件上的程序部署策略
2014-09-04 18:12 513一个15万pv、天左右 ... -
jsp 页面 查看线程堆栈状况
2014-09-04 15:53 670jsp 页面 查看线程堆栈信息状况 具体见 附件 -
jvm 本地方法栈(native Method stacks) 基本概念
2014-09-03 15:38 1116Java 虚拟机 运行时数据区域 一般可区分为 :方法区,堆 ... -
jvm 栈 基本概念
2014-09-03 15:10 546java 程序员 通常把java程序运行时的内存 分为 堆内存 ...
相关推荐
"flex+java 读写数据库Demo"就是一个典型的案例,它展示了如何利用Adobe Flex作为前端UI框架,与Java后端配合,实现对数据库的读写操作。Flex是基于ActionScript的富互联网应用(RIA)开发平台,而Java则是强大的...
java poi excel操作demo 支持xls和xlsx两个格式的excel文件的读写操作。读取模式包含用户模式和事件驱动模式 ,事件驱动模式能够支持大数据量的读操作,写操作xlsx使用sxssf方式支持大数据量的写入操作。 demo 基于...
在多线程环境下,可能会出现数据竞争问题,为了解决这个问题,Java提供了多种同步机制,如synchronized关键字、wait/notify机制、Lock锁(ReentrantLock)等。synchronized用于控制对共享资源的访问,而wait/notify...
读写锁的 Demo 实现可以是设计一个模拟队列,拥有一个数据成员变量用于存储数据和存取两种操作。例如: ```java public class ReadWriteLockDemo { public static void main(String[] args) { DefQueue queue = ...
这个"JAVA短信验证源码DEMO"提供了实现短信验证功能的基本框架,主要涉及Java编程语言和网络通信技术。以下是对该DEMO中核心知识点的详细解释: 1. **TCP/IP Socket通信**:TCP(Transmission Control Protocol)/...
在这个"java tcp程序demo"中,我们有两个关键组件:Server(服务器)和Client(客户端)。服务器端负责监听特定的端口,等待客户端的连接请求,一旦有客户端连接,它就能接收并处理客户端发送的数据。而客户端则负责...
在本案例"mybatis进行读写案例demo"中,我们将深入探讨MyBatis如何进行数据库的读写操作,以及其核心配置和使用方法。 1. **MyBatis基本概念** MyBatis摒弃了传统的基于JDBC的数据库访问方式,它将SQL语句与Java...
本示例"读写文件操作demo-java"旨在教你如何使用Java进行文件的读取和写入,这对于处理数据存储、日志记录或是任何需要与磁盘交互的应用程序至关重要。我们将探讨`java.io`包中的核心类,如`FileInputStream`, `...
简单的redis读写分离demo 用的是依赖注入的方式,redis用的是主从复制
总之,这个"数据库读写分离demo"展示了如何在Java应用中,利用MyBatis和AOP技术来实现数据库读写分离,提高系统的读写性能和稳定性。通过这种方式,我们可以在不影响原有代码结构的前提下,优雅地解决高并发场景下的...
标题提及的“java读写hdf5格式文件需要使用的库”主要包括两个部分:Java接口库和操作系统特定的动态链接库。这里提供的jar文件`hdf5-3.3.2.jar`是Java接口库,它封装了对HDF5文件的操作,使得Java程序员可以通过...
在这个"java socket传输demo"中,我们将深入探讨Java如何使用Socket类来实现客户端和服务器端之间的数据交换。 首先,Socket是Java提供的一个类,位于`java.net`包下,它代表了网络上的两个应用程序之间的一个双向...
"java常用锁使用demo工程"是一个实践项目,旨在帮助开发者理解并熟练掌握Java中的锁机制。在这个工程中,我们可能会看到各种锁的实例,如内置锁(synchronized)、显式锁(java.util.concurrent.locks包中的Lock接口...
这个"Java 串口通讯demo"是一个实战项目,它结合了网页界面并通过WebSocket实现与服务器的实时通信。让我们深入探讨一下这个主题。 首先,我们需要了解Java中的串口通讯。在Java中,我们可以使用`javax.comm`库来...
在Java中,通常使用Apache POI库来读写Excel文件。POI提供了HSSF和XSSF两个API,分别用于处理老版本的 `.xls` 文件和新版本的 `.xlsx` 文件。读取Excel时,我们需要创建`Workbook`对象,然后通过`Sheet`和`Row`来...
C#非接触IC卡M1卡读写调试源代码,自己编写的明华URF-R330读写器 M1卡的读写,官方提供的demo很混乱,并且没有C#版本的,第一次测试调试都很难搞明白,我四处收集资料改写代码写出这个C#版的Demo,我这个是根据他们...
如果涉及到文件操作,可能会使用Java的`File`和`BufferedReader`类读写文件。 标签中提到了“图片文档”,这意味着这个DEMO可能还涵盖了如何下载和处理网页中的图片和文档。对于图片,Java爬虫可能会使用`java.net....
1. **文件IO操作**:Java的`java.io`包提供了读写文件的基础API,如`File`、`FileInputStream`和`FileOutputStream`等。在图片上传过程中,我们需要用到这些类来处理本地的图片文件。 2. **多部分表单数据**:在...
总的来说,Java开发者可以通过Apache POI和JExcelAPI轻松地读写Excel文件,进行各种操作,如设置列宽、处理合并或拆分的单元格。理解并熟练掌握这些库,将极大地提升你在处理Excel数据时的效率。在实际项目中,根据...
在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和传输结构化数据。本文将深入探讨Java中处理XML的四种常见方法:DOM(Document Object Model)、SAX(Simple API for XML...