java
sgx425021234
职场新人,java菜鸟一枚
展开
-
java_第13章 多线程(2)
13.4 线程的同步 线程间共享代码和数据可以节省系统开销,提高程序运行效率,但同时也导致了数据的“访问冲突”问题,如何实现线程间的有机交互、并确保共享资源在某些关键时段只能被一个线程访问,即所谓的“线程同步”(Synchronization)就变得至关重要 多个线程间共享的数据称为临界资源(Critical Resource),由于是线程调度器负责线程的调度原创 2012-09-04 17:17:34 · 674 阅读 · 0 评论 -
为什么要在RUN方法中调用Sleep
一般在线程的run方法里调用sleep方法是为了让当前线程暂停执行,以给其他线程执行的机会,其实这里有个问题,到底是单窗口售票还是多窗口,如果是单窗口,那么买票的线程是多个,售票的线程是一个,买票的线程应该处在一个队列之中,买票的线程只负责获得票,具体操作资源的线程是售票线程,只有它一个线程的话并不会出现线程同步问题吧;但如果是多个售票线程的话,这时候就有必要使用线程同步了,因为多个线程对同一个资原创 2012-09-04 18:43:29 · 3709 阅读 · 0 评论 -
java_第13章 多线程(1)
第13章 多线程(1)13.1多线程的优点和缺点 提高界面程序响应速度。通过使用线程,可以将需要大量时间完成的流程在后台启动单独的线程完成,提高前台界面的相应速度。 充分利用系统资源,提高效率。通过在一个程序内部同时执行多个流程,可以充分利用CPU等系统资源,从而最大限度的发挥硬件的性能。 当程序中的线程数量比较多时,系统将花费大量的时间进行线程原创 2012-09-03 18:52:05 · 675 阅读 · 0 评论 -
java 第十三章 多线程(3)
线程的同步通信 为避免死锁,就应该让线程在进入阻塞状态时尽量释放其锁定的资源,以为其他的线程提供运行的机会,Object类中定义了几个有用的方法:wait()、notify()、notifyAll()。 wait():被锁定的对象可以调用wait()方法,这将导致当前线程被阻塞并释放该对象的互斥锁,即解除了wait()方法当前对象的锁定状态,其他的线程就有机原创 2012-09-05 17:31:13 · 692 阅读 · 0 评论 -
java多线程学习总结
一、线程的基本概念简单的说:线程就是一个程序里不同的执行路径,在同一个时间点上cpu只会有一个线程在执行,Java里的多线程是通过java.lang.Thread类来实现的,每个线程都拥有自己独立的方法栈空间。二、java线程的创建和启动第一种定义线程类实现Runnable接口:Thread myThread = new Thread(target) //target为Ru翻译 2012-09-05 19:48:27 · 503 阅读 · 0 评论 -
jdbc开发(1)
JDBC简介数据库驱动SUN公司为统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。组成JDBC的2个包: java.sql javax.sql开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据原创 2012-09-06 16:51:46 · 671 阅读 · 0 评论 -
UML
UML(United Modeling Language, 统一建模语言): 是一种基于面向对象的可视化建模语言. UML 采用了一组形象化的图形(如类图)符号作为建模语言, 使用这些符号可以形象地描述系统的各个方面UML 通过建立图形之间的各种关系(如类与类之间的关系)来描述模型.UML 中一共有 10 种图:UML 中的关系主要包括 4 种: 关联关系(asso原创 2012-09-27 09:13:07 · 1399 阅读 · 0 评论 -
jdbc(2)
使用JDBC对数据库进行CRUDJdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。Statement.ex原创 2012-09-10 16:45:27 · 640 阅读 · 0 评论 -
jdbc开发(3)
使用JDBC处理大数据在实际开发中,程序需要把大文本或二进制数据保存到数据库。基本概念:大数据也称之为LOB(Large Objects),LOB又分为:clob和blobclob用于存储大文本。Textblob用于存储二进制数据,例如图像、声音、二进制文等。对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:T原创 2012-09-10 17:20:33 · 732 阅读 · 0 评论 -
java网络编程
网络基本概念计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。网络体系结构:国际标准化组织ISO于l978年提出“开放系统互连参考模型”,即著名的OSI(Open System Interconnection)模型。该模型把计算机网络分成物理层、数据链路层、网络原创 2012-09-11 17:25:31 · 686 阅读 · 0 评论 -
UDP协议复习
UDP协议1.面向无连接2.速度快3.不可靠的协议,容易丢包4.包小于64kDatagramSocket:此类表示用来发送和接收数据报包的套接字DatagramPacket:数据包发送端:1.创建一个udpsocket服务 DatagrameSocket ds=new DatagramSocket();2.将数据封装到数据包中 ....原创 2012-09-12 14:57:59 · 697 阅读 · 0 评论 -
TCP协议编程复习
tcp协议:1.面向连接的2.通过三次握手完成连接3.可靠地协议4.相对于udp 稍慢分为服务端:SeverSocket和客户端:Socket服务端步骤:1.建立tcp Socket服务,必须要监听一个端口 ServerSocket ss=new ServerSocket(port);2.通过accptet方法,返回一个socket原创 2012-09-13 16:34:02 · 601 阅读 · 0 评论 -
利用TCP协议 上传图片、文件
源码:上传图片:服务端:package com.hbsi.net;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.n原创 2012-09-13 20:31:39 · 1046 阅读 · 2 评论 -
URL类的使用
模拟服务器,用IE浏览器代替客户端代码如下:package com.hbsi.net;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class ServerDemo {/** * @param args */public原创 2012-09-14 14:57:25 · 4766 阅读 · 1 评论 -
简单的java静态导入
静态导入JDK 1.5 增加的静态导入语法用于导入指定类的某个静态属性值(方法)或全部静态属性值(方法)语法:Import static 包名.类名.静态属性|静态方法|*静态导入语句使用 import static 语句导入指定类的单个静态属性: import static java.lang.Syste原创 2012-09-17 17:25:30 · 2073 阅读 · 0 评论 -
反射机制
java中反射机制反射是java语言的特征之一,它允许动态地发现和绑定类、方法、字段,以及所有其他的由语言所产生的元素。反射可以做的不仅仅是简单的列举类、字段以及方法,通过反射还能够在运行时完成创建实例、调用方法以及访问字段的工作。反射是java被发现为动态(或准动态)语言的关键。 归纳起来,java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类; 在运行时构造任原创 2012-09-19 14:48:25 · 618 阅读 · 0 评论 -
内省(Introspector)
为什么要学内省?开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性。什么是Java对象的属性和属性的读写方法?内省访问JavaBean属性的两种方式:通过PropertyDescriptor类操作Bean的属性通过Introspector类获得Bean对象的 Bean原创 2012-09-18 23:20:01 · 658 阅读 · 0 评论 -
泛型
泛型(Generic) —泛形的作用JDK5中的泛形允许程序员在编写集合代码时,就限制集合的处理类型,从而把原来程序运行时可能发生问题,转变为编译时的问题,以此提高程序的可读性和稳定性(尤其在大型程序中更为突出)。注意:泛型是提供给javac编译器使用的,它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合中插入非法数据。但编译器编译完带有泛形的java程序后,生成的class文原创 2012-09-20 15:45:40 · 568 阅读 · 0 评论 -
JDBC高级开发(3)--Apache—DBUtils框架
简介commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。API介绍:org.apache.commons.dbutils.QueryRunner --BDManager原创 2012-11-29 21:00:58 · 798 阅读 · 0 评论 -
文件的上传
文件上传概述实现web开发中的文件上传功能,需完成如下二步操作:在web页面中添加上传输入项在servlet中读取上传文件的数据,并保存到本地硬盘中。如何在web页面中添加上传输入项?标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:1、必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。2、必须把form的enctype属原创 2012-11-29 21:22:28 · 2880 阅读 · 2 评论 -
文件的下载
文件下载Web应用中实现文件下载的两种方式超链接直接指向下载资源程序实现下载需设置两个响应头:设置Content-Type 的值为:application/x-msdownload。Web 服务器需要告诉浏览器其所输出的内容的类型不是普通的文本文件或 HTML 文件,而是一个要保存到本地的下载文件。Web 服务器希望浏览器不直接处理相应的实体内容,而是由用户选择将相应的实体内容原创 2012-12-03 14:28:54 · 1109 阅读 · 0 评论 -
Servlet Filter(过滤器)
Filter简介Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。Servlet API中提供了一个Filter接口,原创 2012-12-03 16:07:10 · 835 阅读 · 0 评论 -
Servlet事件监听器(1)
监听器监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。监听器典型案例:监听window窗口的事件监听器Servle监听器在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为 ServletContext, HttpSession 和 Servle原创 2012-12-05 16:19:55 · 1326 阅读 · 0 评论 -
Servlet Filter(过滤器2)
一、Filter常见的应用(2)------不缓存页面1、禁止浏览器缓存所有动态页面的过滤器:(1)有3个HTTP响应头字段都可以禁止浏览器缓存当前页面,它们在Servlet中的实例代码如下:response.setDateHeader("Expires",-1);response.setHeader("Cache-Control","no-cache"); response.se原创 2012-12-05 16:00:11 · 1232 阅读 · 0 评论 -
jsp作业(4)---实现一个自定义标签
实现一个自定义标签,功能:判断一个YYYY-MM-DD格式的日期修改为下面格式输出年:YYYY月:MM日:DD在hbsi.tld中描述:demo6com.hbsi.web.tag.MyTagDemo6JSP 在6.jsp中: 1992-02-17 在MyTagDemo6.java中:package co原创 2012-11-23 18:07:16 · 996 阅读 · 0 评论 -
hibernate入门-01
1.jdbc连接的优缺点JDBC的优点直接底层操作,提供了很简单、便捷的访问数据库的方法,跨平台性比较强。灵活性比较强,可以写很复杂的SQL语句。JDBC的缺点1).因为JAVA是面向对象的,JDBC没有做到使数据能够面向对象的编程,使程序员的思考仍停留在SQL语句上。2).操作比较繁琐,很多代码需要重复写很多次。3).如果遇到批量操作,频繁与数据库进行交互,容易造成效率的原创 2012-12-30 22:40:35 · 735 阅读 · 0 评论 -
HibernateWork12
1.阐述事务管理的步骤服务器端在接收到用户的请求后,会创建一个新的Hibernate Session对象,然后通过该Session对象开始一个新的事务并且之后所有对数据库的操作都通过该Session对象来进行。最后,完成将响应页面发送到客户端的工作后再提交事务并且关闭Session。2.解释并发引起的各种问题1)第一类丢失更新:撤销一个事物时,把其它事物已提交的更新数据也撤销了2)原创 2013-01-04 20:57:58 · 906 阅读 · 0 评论 -
hibernate入门-02
1.Configuration类 是Hibernate的入口,它负责配置并启动Hibernate。Hibernate通过Configuration的实例加载配置文件信息,然后读取指定对象关系映射文件的内容并创建SessionFactory实例。2.SessionFactory接口 负责初始化Hibernate。一个SessionFactory实例对应一个数据库。应用程序从Sess原创 2013-01-04 22:13:27 · 644 阅读 · 0 评论 -
struts2入门(3)
指定需要Struts 2处理的请求后缀前面我们都是默认使用.action后缀访问Action。其实默认后缀是可以通过常量”struts.action.extension“进行修改的,例如:我们可以配置Struts 2只处理以.do为后缀的请求路径:<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Strut原创 2013-02-28 20:22:14 · 524 阅读 · 0 评论 -
Struts2入门(4)
Struts2 :访问或添加request/session/application属性 通过前面的练习大家都知道,在action的方法中与servlet的所有的API是没有任何关系的。所以在struts2中做到了aciton与serlvet的松耦合,这点是非常强大的。但是如果没有HttpServletRequest,HttpServletSession,ServletContext有些功能原创 2013-03-04 21:42:19 · 687 阅读 · 0 评论 -
struts2入门(5)--Struts2的拦截器
过滤器与拦截器的区别:*相同点:都是起拦截作用*不同点: *作用范围:*过滤器:使用范围是J2EE范畴,任何一个web工程都可以使用过滤器*拦截器:使用范围是struts2范畴,离不开struts2框架的 *完成的功能:*过滤器:拦截请求资源*拦截器:完成其他所有功能*执行顺序:过滤器——>拦截器 常见的拦截器有哪些?原创 2013-03-05 18:46:35 · 818 阅读 · 0 评论 -
struts2入门(6)
自定义拦截器要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口:public class PermissionInterceptor implements Interceptor { private static final long serialVersionUID = -5178310397732210602原创 2013-03-05 19:22:41 · 1480 阅读 · 1 评论 -
struts2入门(8)--OGNL
OGNL表达式语言OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts 2框架使用OGNL作为默认的表达式语言。相对EL表达式,它提供了平时我们需要的一些功能,如:支持对象方法调用,如xxx.sayHello(); 支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 |原创 2013-03-05 21:30:28 · 1006 阅读 · 0 评论 -
struts2入门(7)--国际化
国际化准备资源文件,资源文件的命名格式如下:baseName_language_country.propertiesbaseName_language.propertiesbaseName.properties其中baseName是资源文件的基本名,我们可以自定义,但language和country必须是java支持的语言和国家。如:中国大陆: baseName_zh_CN原创 2013-03-05 20:21:42 · 960 阅读 · 0 评论 -
javascript 加强(1)
一、DOMDOM: DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。有一点很重要,DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言.D:文档 – html 文档 或 xml 文档O:对象 – document原创 2013-03-09 14:06:31 · 1068 阅读 · 0 评论 -
struts2入门(1)
今天是开学的第一次课,在上学期末Hibernate还未消化完的情况下,今天我们接触了第二个框架struts2,带着好奇心开始了这一周的struts2。 Struts2是在WebWork2基础发展而来的。和struts1一样,Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别不是很大,但Struts2和struts原创 2013-02-27 00:03:16 · 990 阅读 · 2 评论 -
struts2入门(2)
Struts2中结果集类型 1、 每个action方法都返回一个String类型的值,struts一次请求返回什么值是由这个值确定的。2、 在配置文件中,每一个action元素的配置都必须有result元素,每一个result对应一个action的返回值。3、 Result有两个属性:name:结果的名字,和action中的返回值一样,默认值为success;type:响应原创 2013-02-27 21:39:02 · 538 阅读 · 0 评论 -
java.io.EOFException解决方法
主要错误提示如下: 严重: IOException while loading persisted sessions: java.io.EOFException严重: Exception loading sessions from persistent storage 分析:EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数原创 2013-02-27 21:45:38 · 1685 阅读 · 0 评论 -
jQuery(1)----入门&选择器
一、jQuery 简介jQuery 是继 Prototype 之后又一个优秀的 JavaScript 库jQuery 理念: 写得少, 做得多. 优势如下:轻量级强大的选择器出色的 DOM 操作的封装可靠的事件处理机制完善的 Ajax出色的浏览器兼容性链式操作方式……第一个案例 二、jQuery 对象jQuery 对象就是通过 jQu原创 2013-03-19 08:18:23 · 1211 阅读 · 1 评论 -
jQuery(9)---采用jqueryui实现auotcomplete自动填充功能(连接数据库@Hibernate+struts2)
页面如下:源码:<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%> ">原创 2013-03-22 23:54:53 · 2144 阅读 · 0 评论