JAVA ’ 目录归档

监视器–JAVA同步基本概念

原文链接  作者:  译者:candy

大学有一门课程叫操作系统,学习过的同学应该都记得,监视器是操作系统实现同步的重要基础概念,同样它也用在JAVA的线程同步中,这篇文章用一种类推的思想解释监视器”monitor”。

阅读全文

Java 网络教程: ServerSocket

原文链接 作者:Jakob Jenkov 译者:homesick

用java.net.ServerSocket实现java服务通过TCP/IP监听客户端连接,你也可以用Java NIO 来代替java网络标准API,这时候需要用到 ServerSocketChannel。

创建一个 ServerSocket连接

以下是一个创建ServerSocket类来监听9000端口的一个简单的代码

ServerSocket serverSocket = new ServerSocket(9000);

阅读全文

Java IO: 字节和字符数组

原文链接  作者: Jakob Jenkov   译者:homesick

内容列表

  • 从InputStream或者Reader中读入数组
  • 从OutputStream或者Writer中写数组

在java中常用字节和字符数组在应用中临时存储数据。而这些数组又是通常的数据读取来源或者写入目的地。如果你需要在程序运行时需要大量读取文件里的内容,那么你也可以把一个文件加载到数组中。当然你可以通过直接指定索引来读取这些数组。但如果设计成为从InputStream或者Reader,而不是从数组中读取某些数据的话,你会用什么组件呢?

阅读全文

Java IO: InputStream

原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com)

InputStream类是Java IO API中所有输入流的基类。InputStream子类包括FileInputStream,BufferedInputStream,PushbackInputStream等等。参考Java IO概述这一小节底部的表格,可以浏览完整的InputStream子类的列表。

阅读全文

Java Reflection(三):构造器

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com)
内容索引
获取Constructor对象
构造方法参数
利用Constructor对象实例化一个类

利用Java的反射机制你可以检查一个类的构造方法,并且可以在运行期创建一个对象。这些功能都是通过java.lang.reflect.Constructor这个类实现的。本节将深入的阐述Java Constructor对象。

阅读全文

《GO并发编程实战》—— 锁的使用

QQ20141107-1声明:本文是《Go并发编程实战》的样章,感谢图灵授权并发编程网站发布样章,禁止以任何形式转载此文。

在本节,我们对Go语言所提供的与锁有关的API进行说明。这包括了互斥锁和读写锁。我们在第6章描述过互斥锁,但却没有提到过读写锁。这两种锁对于传统的并发程序来说都是非常常用和重要的。

  1. 互斥锁

互斥锁是传统的并发程序对共享资源进行访问控制的主要手段。它由标准库代码包sync中的Mutex结构体类型代表。sync.Mutex类型(确切地说,是*sync.Mutex类型)只有两个公开方法——Lock和Unlock。顾名思义,前者被用于锁定当前的互斥量,而后者则被用来对当前的互斥量进行解锁。

类型sync.Mutex的零值表示了未被锁定的互斥量。也就是说,它是一个开箱即用的工具。我们只需对它进行简单声明就可以正常使用了,就像这样:

阅读全文

Java IO: 异常处理

原文链接 作者:Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com)

流与Reader和Writer在结束使用的时候,需要正确地关闭它们。通过调用close()方法可以达到这一点。不过这需要一些思考。请看下边的代码:

[code lang=”java”]
InputStream input = new FileInputStream("c:\\data\\input-text.txt");

int data = input.read();

while(data != -1) {

//do something with data…  

doSomethingWithData(data);

data = input.read();

}

input.close();
[/code]

阅读全文

Java网络教程:URL + URLConnection

原文地址  译者:梁远铭

 

目录

  • HTTP GET和POST
  • 从URLs到本地文件

在java.net包中包含两个有趣的类:URL类和URLConnection类。这两个类可以用来创建客户端到web服务器(HTTP服务器)的连接。下面是一个简单的代码例子:
阅读全文

《Java特种兵》第一章

1.1 String的例子,见证下我们的功底
1.2 一些简单算法,你会如何理解
1.3 简单数字游戏玩一玩
1.4 功底概述
1.5 功底补充
1.6 常见的目录与工具包
1.7 面对技术,我们纠结的那些事儿
1.8 老A是在逆境中迎难而上者

Java Reflection(二):Classes

原文地址 作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com)
使用Java反射机制可以在运行时期检查Java类的信息,检查Java类的信息往往是你在使用Java反射机制的时候所做的第一件事情,通过获取类的信息你可以获取以下相关的内容:
Class对象
类名
修饰符
包信息
父类
实现的接口
构造器
方法
变量
注解

除了上述这些内容,还有很多的信息你可以通过反射机制获得,如果你想要知道全部的信息你可以查看相应的文档JavaDoc for java.lang.Class里面有详尽的描述。

阅读全文

《Java特种兵》5.1 基础介绍

本文是《Java特种兵》的样章,感谢博文视点和作者授权本站发布

5.1 基础介绍

†† 5.1.1 线程基础

本节内容介绍给那些还没接触过Java线程的朋友,希望能有个感性认识。

Java线程,英文名是Thread,所有的Java程序的运行都是在进程中分配线程来处理的。如果是一个main方法,则由一个主线程来处理,如果不创建自定义线程,那么这个程序就是单线程的。如果是Web应用程序,那么就由Web容器分配线程来处理(在4.4.1节中介绍了在Tomcat源码中是如何分配线程的)。

阅读全文

Java Reflection(一):Java反射指南

原文地址   作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com)

Java反射机制可以让我们在编译期(Compile Time)之外的运行期(Runtime)检查类,接口,变量以及方法的信息。反射还可以让我们在运行期实例化对象,调用方法,通过调用get/set方法获取变量的值。

Java反射机制功能强大而且非常实用。举个例子,你可以用反射机制把Java对象映射到数据库表,就像Butterfly Persistence所做的那样,或者把脚本中的一段语句在运行期映射到相应的对象调用方法上,就像 Butterfly Container在解析它的配置脚本时所做的那样。

阅读全文

《Java特种兵》1.8 老A是在逆境中迎难而上者

本文是《Java特种兵》的样章,感谢博文视点和作者授权本站发布

1.8 老A是在逆境中迎难而上者

小胖哥虽然不是一个“传道者”,但是喜欢小小论道,因为在人生的道路上,很多时候你我都会面临许多纠结的事情,而这个时候我们的态度会决定命运,而道就是道理和方法。
阅读全文

Java IO: 并发IO

原文链接 作者: Jakob Jenkov 译者: 李璟

有时候你可能需要并发地处理输入和输出。换句话说,你可能有超过一个线程处理输入和产生输出。比如,你有一个程序需要处理磁盘上的大量文件,这个任务可以通过并发操作提高性能。又比如,你有一个web服务器或者聊天服务器,接收许多连接和请求,这些任务都可以通过并发获得性能的提升。

阅读全文

《Java特种兵》1.7 面对技术,我们纠结的那些事儿

本文是《Java特种兵》的样章,感谢博文视点和作者授权本站发布

1.7 面对技术,我们纠结的那些事儿

人生需要面对很多纠结,我们都是在纠结中磨练自我意志的。

纠结容易让人浮躁,容易让人犯错;但是纠结同样会让人成长,纠结是黎明前的黑暗。

学会将纠结化作成长的力量,在逆境中能生存的强者才是真正的“老A级程序员”。
阅读全文

return top