- 浏览: 332320 次
最新评论
-
jstl1point0:
你的sleep,不在同步锁里面,在外面
java实现多线程卖票 -
wjiaoling136:
在页面上处理科学计数法的数据,除了用JS之外,fmt也是个不错 ...
java如何不显示科学计数法 -
wjiaoling136:
cursor有好多个样式呢,你这个只是用图片显示鼠标的样式。c ...
改变鼠标的样式
文章列表
RandomAccessFile
字节与字符流 字节流 outputstream inputstream 字符流 writer reader 字节流与字符流的区别 字节、字符转换流
前面讲解了IO的原理以及使用,下面针对于中文读取于拷贝问题看几个例子,掌握下面的东西java所有 IO基本上也就那些东西了,话不多说看例子:
package io;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.Fil ...
字节流与字符流
先来看一下流的概念:
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。
程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。
来源:http://747017186.iteye.com/admin/blogs/new
----------------------------------------------------------------
或许你对于linux还不够了解,但是一旦你步入公司后,你就会发现linux是无处不在,好多东西都是基于于其它服务器(Linux,HP……)相连接来操作一系列的工作,而离不开的就是用命令来操作一切了,下面我就说说如何在linux上安装软件吧!
--------------------------------------------------------- ...
java队列——queue详细分析
Queue: 基本上,一个队列就是一个先入先出(FIFO)的数据结构
Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Deque接 口。
Queue的实现
1、没有实现的阻塞接口的LinkedList: 实现了java.util.Queue接口和java.util.AbstractQueue接口 内置的不阻塞队列: PriorityQueue 和
Exchanger的工作原理及实例
1.实现原理
Exchanger(交换者)是一个用于线程间协作的工具类。Exchanger用于进行线程间的数据交换。它提供一个同步点,在这个同步点两个线程可以交换彼此的数据。这两个线程通过exchange方法交换数据, 如果第一个线程先执行exchange方法,它会一直等待第二个线程也执行exchange,当两个线程都到达同步点时,这两个线程就可以交换数据,将本线程生产出来的数据传递给对方。因此使用Exchanger的重点是成对的线程使用exchange()方法,当有一对线程达到了同 ...
CountDownLatch的简单理解
CountDownLatch的概念
CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。
CountDownLatch能够使一个线程在等待另外一些线程完 ...
Java之CyclicBarrier使用
- 博客分类:
- thread
来源:https://blog.csdn.net/hanchao5272/article/details/79779639
本章主要对CyclicBarrier进行学习。
1.CyclicBarrier简介
CyclicBarrier,是JDK1.5的java.util.concurrent并发包中提供的一个并发工具类。
所谓Cyclic即 循环 的意思,所谓Barrier即 屏 ...
VMware仅主机模式联网详解
- 博客分类:
- 中间件
三、Host-Only(仅主机模式)
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:
通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。
VMwareNAT联网详解
- 博客分类:
- 中间件
二、NAT(地址转换模式)
刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。 ...
VMware桥接联网详解
- 博客分类:
- 中间件
VMware虚拟机三种网络模式详解
Bridged(桥接模式)
文章来源:https://www.linuxidc.com/Linux/2016-09/135521.htm
由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有VMware Workstations和VirtualBox等。在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而VMware的网络连接问题是大家遇到最多问题之一。在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群里童鞋网络出故 ...
来源:https://blog.csdn.net/carson0408/article/details/79475723
Semaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。Semaphore是一种计数信号量,用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数。
1.工作原理
以一个停车场是运作为例。为了简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆 ...
如果实现3个线程之间的协调通信,我们该怎么做?
1、先看传统的解决方案:
package thread.condition201801;
public class Test201801 {
public static void main(String[] args) throws Exception{
final ThreadTask threadTask = new ThreadTask();//业务任务对象
new Thread(new Runnable() {
@Override
public void run() {
for ...
Condition是java提供线程之间的一个通信机制,替换掉了Object当中的wait、notifly方法,相对于来说比较简单。
package thread;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
public class ConditionTest {
public static void main(String[] args) {
...
前一段学习过java当中readWriteLock的使用,运用所学编写一个缓存器。
package thread;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class CacheTest {
private Map<String, Object> cache = new Has ...