`
文章列表
转自: http://hi.baidu.com/youziguo/item/0d1c7004b1e9f1d4dde5b0ed gccr Java同步注解(Annotation)解释。     JDK 5.0 以后增加了注解。就是@后面加一个名称。有其自身的含意。跟C#里的Attributes似的。     Java并发编程中,用到了一些专门为并发编程准备的 Annotation。 主要包括三类: 1、类 Annotation(注解) 就像名字一样,这些注解是针对类的。主有要以下三个: @Immutable @ThreadSafe @NotThreadSafe @ThreadSafe ...
1.设计线程安全类的过程中,需要包含以下三个基本要素    a,找出构成对象状态的所有变量。    b,找出约束状态变量的不变性条件    c,建立对象状态的并发访问管理策略 要分析对象的状态,首先从对象的域开始,如果对 ...
1.可见性:为了确保多个线程之间的内存写入操作的可见性,必须使用同步机制。在没有使用同步的情况下,编译器,处理器以及运行时等都有可能对操作的执行顺序进行一些意想不到的调整。 2.加锁可见性: a,内置锁可以用于确保某个线程以一种可预见的方式来查看另外一个线程的执行结果。       b,java语言提供了一种稍弱的同步机制,即volatile变量,用来确保将变量的更新操作通知到其他线程,当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。 3,线程封闭:当访问共享的可变数据时,通常需要使用同步,一种避免使用同步的 ...
1.当多个线程访问某个状态变量并且其中有一个线程执行写入操作时,必须采用同步机制来协同这些线程对变量的访问. java中的主要同步机制是关键字synchronized,提供一种独占的加锁方式. 2.同步 这个术语还包括volatile类型的变量, ...
开始学习线程并发了,之前看过一遍前面的基础章节,现在再看一遍,做些总结. chapter 1  并发历史 1.线程允许在同一个进程中同时存在多个程序控制流,线程会共享进程范围内的资源. 2.异步事件的简化处理:服务器应用程序在接受来自多个远程客户端的套接字连接请求时,如果为每个连接都分配其各自的线程并且使用同步I/O,会降低开发的难度. 3.单线程服务器应用程序必须使用非阻塞I/O,处理某个请求发生的阻塞将不会影响其他请求的处理. 4 int value=0 ; 作为全局变量出现时,在方法里面有value++,value++其实包括了3个独立的操作,a,读取value的值.b 将va ...
上一个公司的人离职了,接手了他负责的东西,由于工作需要,要重新做,他之前用的是mybatis自动生成代码,现在数据库做了调整,又不想改数据库的框架,决定自己来一次, 以前学习的时候只是在myeclipse中用过自动生成的操作,现在是在eclipse中的maven工程里,于是研究了一下相关的东西。 知识还是边学习边实践比较好啊,天天自己学习,看文字还是不行滴!这是最近以来的深刻体会。 一开始找了ibatis的abator的生成器,很古老了,就不说了 然后找了mybatis的generator,也还行。 最后决定用与spring的集成版,将学习经验分享给大家。 首先在maven工程的pom. ...
今天开始学习java并发编程,希望自己能有耐心. 先来看下阻塞io 和nio. 之前有了解过阻塞的io,以ServerSocket.accept()方法为例子,当socket的服务器端调用此方法时,会阻塞,一直等待客户端发起到服务器端的连接,知道有数据才进行返回,然后发起一个线程去进行处理,每个客户端过来,都会发起一个线程去处理. client1-------       ------- client2-------server ------ .                                    n个处理程序 . clientn-------       ------ ...
今天学习了Spring的集成测试,分享给大家学习: 第一种:用传统的TestCase做测试,先说下非Spring的, 首先是一个类Abc中写了add方法, public class Abc { public int add(int i,int j ){ System.out.println(i+j); return i+j; } } 接下来对这个方法进行一些测试: public class AbcTest extends TestCase { public void testAdd(){ assertEquals(3, new Abc().add(1, 2)); ...

io学习

    博客分类:
  • io
关于io的学习 先看下面的一段代码: public static void main(String[] args) throws IOException { String file = "E:/stream.txt"; String charset = "UTF-8"; // 写字符 转为字节流 FileOutputStream outputStream = new FileOutputStream(file); OutputStreamWriter writer = new OutputStreamWriter(outputSt ...
最近工作比较轻松,自主学习的时间很多,对于前段时间在网上学习,没有方向没有目的 感到遗憾不已,总是觉得要学习新的技术,却忘记了之前学习的东西都还没有巩固.还好,现在醒悟不算太晚.要学习的东西真的很多.而现在,终于想开始学习Spring了 Ioc容器学习 + applicationcontext Ioc 控制反转,也叫依赖注入.先讲下控制反转的意思,控制是指容器控制程序的关系,而不是传统的用代码来控制程序.反转,即这种代码控制程序转移为容器控制程序. 依赖注入:组件之间的依赖关系由容器在运行期间完成,由容器动态的管理组件之间的依赖关系. 传统的方式:需要一个对象就自己 New()一个对象来使 ...
转自:http://www.ibm.com/developerworks/cn/opensource/os-httpclient/ HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...
转自:http://yijianfengvip.blog.163.com/blog/static/17527343220119283040546/ jsoup 网页抓取简介详解,java抓取  2011-10-28 15:00:40|  分类: java_js_flex_css |  标签:jsoup  java  抓取  详解   |字号 订阅 jsoup 简介 Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是:从 HTML 中攫取你所需的信息和 扩展 HT ...
// 从string 到 bytes[] String str = "abcedfaddd"; byte[] bytes = str.getBytes(); //从bytes[]到string的过程,并且还原string类型的值 String ss = new String(bytes,"utf-8");
转正http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html 一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。 而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。 目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方一方作 ...
本文转自 http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法 ...
Global site tag (gtag.js) - Google Analytics