当前位置:文档之家› 第六讲 韩顺平Java核心编程 22~26

第六讲 韩顺平Java核心编程 22~26

1.集合框架√

2.泛型√

3.异常√

1.掌握常用的集合类(接口)

2.充分理解什么是泛型

3.掌握java中的异常

■一个问题?

前面我们学习了数组,充分体会到数组的优越性,就是可以存储同一类型的数据,但是我们假设有这样的需求,大家看看如何解决?

请做一个公司职员薪水管理系统,要求完成如下功能:

①当有新员工时,将该员工加入到管理系统

①可以根据员工号,显示该员工的信息.

②可以显示所有员工信息

③可以修改员工的薪水

⑤当员工离职时,将该员工从管理系统中删除

⑥可以按照薪水从低到高顺序排序【思考题】

⑦可以统计员工的平均工资和最低和最高工资.

■问题分析

当然,我们可以使用数组来解决,可是用数组的话,有什么问题,我们来看看:

■解决之道-链表或是集合类

我们想,如果有这样一种数组,它可以动态的改变就好了,java的设计者为我们提供了一系列的集合类,我们来看看.

■解决之道-链表或是集合类

我们想,如果有这样一种数组,它可以动态的改变就好了,java的设计者为我们提供了一系列的集合类,我们来看看.

■解决之道-链表或是集合类

■使用

从上面的图可以看出java集合类主要有以下几种: List结构的集合类

ArrayList类, LinkedList类, Vector类,Stack类Map结构的集合类

HashMap类,Hashtable类

Set结构的集合类

HashSet类,TreeSet类

Queue结构的集合

Queue接口

■使用

我们给大家举几个案例来看看集合类的常用方法:【Demo6_1.java】和【Demo7_3.java】

■具体应用

在我们熟悉了一些集合类的基本用法后,我们来解决前面提出的公司职员薪水管理系统。首先我们使用ArrayList这个集合类.案例【Demo7_2.java】

■ArrayList和Vector的区别

ArrayList与Vector都是java的集合类,都可以用来存放java对象,这是他

们的相同点,但是他们也有区别:

一.同步性:

Vector是同步的。这个类中的一些方法保证了Vector中的对象是线程安全的。而ArrayList则是异步的,因此ArrayList中的对象并不是线程安全的。因为

同步的要求会影响执行的效率,所以如果你不需要线程安全的集合那么使用ArrayList是一个很好的选择,这样可以避免由于同步带来的不必要的性能开销。

二.数据增长:

从内部实现机制来讲ArrayList和Vector都是使用数组(Array)来控制集合中的对象。当你向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,Vector缺省情况下自动增长原来

一倍的数组长度,ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资

源开销。

■HashMap和Hashtable的区别

HashMap与HashTable都是java的集合类,都可以用来存放java对象,这是他们的相同点,但是他们也有区别:

一.历史原因:

Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。

二.同步性:

Hashtable是同步的。这个类中的一些方法保证了Hashtable中的对象是线程安全的。而HashMap则是异步的,因此HashMap中的对象并不是线程安全的。因为同步的要求会影响执行的效率,所以如果你不需要线程安全的集合那么使用HashMap是一个很好的选择,这样可以避免由于同步带来的不必要的性能开销,从而提高效率。

三.值:HashMap可以让你将空值作为一个表的条目的key或value

但是Hashtable 是不能放入空值的(null)

注意: Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,

不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

■进一步理解集合框架

java的设计者给我们提供了这些集合类,在后面编程中是相当有用的,具体什么时候用什么集合,要根据我们刚才分析的集合异同来选取。

我这里根据自己编程经验总结几点:

①如果要求线程安全,使用Vector、Hashtable

②如果不要求线程安全,应使用ArrayList,

LinkedList、HashMap,LinkedHashMap

③如果要求键值对,则使用HashMap,Hashtable

④如果数据量很大,又要线程安全考虑Vector

思考:请大家把薪资管理系统用你认为最好的集合来实现.

■泛型的基本概念

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

Java语言引入泛型的好处是安全简单。

在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

■泛型的基本概念

我们来看几个案例加深对泛型的理解:【Demo6_2.java】java->反射机制.

■泛型的优点

使用泛型有下面几个优点:

①类型安全

②向后兼容

③层次清晰

④性能较高,用泛型编写的代码可以为java编译器和虚拟机带来更多的类型信息,这些信息对java程序做进一步优化提供条件.

■基本概念

当出现程序无法控制的外部环境问题(用户提供的文件不存在,文件内容损坏,网络不可用...)时,JAVA就会用异常对象来描述。

JAVA中用2种方法处理异常:

1.在发生异常的地方直接处理;

2.将异常抛给调用者,让调用者处理。

■快速入门

class Abc{

public static void main(String []args){ int i=2/0;

s.o.p(“hello”);

}

}class Abc{

public static void main(String []args){ try{

int i=2/0;

}catch(Exception e){

s.o.p(“0不能做除数”)

}

s.o.p(“hello”);

}

}

■异常分类

(1)检查性异常:https://www.doczj.com/doc/4c11255031.html,ng.Exception

(2)运行期异常:https://www.doczj.com/doc/4c11255031.html,ng.RuntimeException

(3)错误:https://www.doczj.com/doc/4c11255031.html,ng.Error

顶层是https://www.doczj.com/doc/4c11255031.html,ng.Throwable类,检查性异常,运行期异常,错误都是这个类的子孙类。https://www.doczj.com/doc/4c11255031.html,ng.Exception和https://www.doczj.com/doc/4c11255031.html,ng.Error继承自https://www.doczj.com/doc/4c11255031.html,ng.Throwable,而https://www.doczj.com/doc/4c11255031.html,ng.RuntimeException继承自https://www.doczj.com/doc/4c11255031.html,ng.Exception.

韩顺平java坦克大战1.0版本_源代码

/**画坦克1.0 */ import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JFrame; import javax.swing.JPanel; public class MyTankGame extends JFrame { MyPanel mp=null; public static void main(String[] args) { MyTankGame mtk=new MyTankGame(); } public MyTankGame() { mp=new MyPanel(); this.add(mp);//把面板加入窗体 //注册监听 this.addMouseListener(mp); this.addKeyListener(mp); this.addMouseMotionListener(mp); this.addWindowListener(mp); this.setTitle("坦克大战");//窗体标题 this.setSize(600,400);//大小,宽,高(像素) this.setLocation(300,300);//显示位置。左边距,上边距 //禁止用户改变窗口大小 this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);//显示 } } //我的面板 class MyPanel extends JPanel implements

循序渐进学从入门到精通

Java韩顺平笔记 第1讲内容介绍.项目演示.原理剖析 1. 课程包括:java面向对象编程,java图形界面,java数据库编程,java文件i/o流,java网络编程,java的多线程 2. Java历史:1990 sun 启动绿色计划 1992 创建 oak语言— > java 1994 gosling 参加硅谷大会演示java功能震惊世界 1995 sun 正式发布java第一个版本,目前最新的是jdk7.0 3. java开发工具:记事本,jcreator,jbuilder,netbean,eclipse 4. jdk包括:jre(java运行环境) java的工具:编译器javac.exe解释执行器java.exe java的类库:3600多个,常用的150多个 5. 第一个程序: //功能:显示―HelloWorld‖ //public:表示类是公共的,一个文件中只有一个public类 //class:表示这个是一个类 //HelloWorld:类名(公共类的类名,必须和文件名一样) public class HelloWorld { //一个主函数,程序的入口 public static void main (String args[]) { //执行语句 System.out.println("helloWorld!"); } } 6. Java源程序(.java文件)——>java字节码文件(.class文件)——>由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)——>字节码文件(.class)就会在java虚拟机中执行l,average); } } 第2讲变量.数据类型 1. 在java里面int占4个字节,long占8个字节 2. Java基本数据类型: 整数:(byte一个字节:-128---127 int四个字节:-2147483648---+2147483647 short两个字节:-32768---+32767 long八个字节:)

基于JavaSocket网络编程的山寨QQ

基于J a v a S o c k e t网络编程的山寨Q Q 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

基于Java Socket 网络编程的山寨QQ (学习韩顺平老师的视频整理出的笔记) 内容含盖: 1.Java 面向对象编程 2.界面编程 3.网络编程 4.多线程 5.文件I/O操作 6.数据库操作 一、网络基础 TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。

二、端口 端口详解 在开始讲什么是端口之前,我们先来聊一聊什么是 port 呢?常常在网络上听说『我的主机开了多少的 port ,会不会被入侵呀!?或者是说『开那个 port 会比较安全?又,我的服务应该对应什么 port 呀?呵呵!很神奇吧!怎么一部主机上面有这么多的奇怪的port 呢?这个 port 有什么作用呢? 由于每种网络的服务功能都不相同,因此有必要将不同的封包送给不同的服务来处理,所以啰,当你的主机同时开启了FTP与 WWW 服务的时候,那么别人送来的资料封包,就会依照 TCP 上面的 port 号码来给 FTP 这个服务或者是 WWW 这个服务来处理,当然就不会搞乱啰!(注:嘿嘿!有些很少接触到网络的朋友,常常会问说:咦!为什么你的计算机同时有 FTP、WWW、E-Mail 这么多服务,但是人家传资料过来,你的计算机怎么知道如何判断?计算机真的都不会误判吗?!现在知道为什么了吗?!对啦!就是因为 port 不同嘛!你可以这样想啦,有一天,你要去银行存钱,那个银行就可以想成是主机,然后,银行当然不可能只有一种业务,里头就有相当多的窗口,那么你一进大门的时候,在门口的服务人员就会问你说:"嗨!你好呀!你要做些什么事?"你跟他说:"我要存钱呀!",服务员接着就会告诉你:喝!那么请前往三号窗口!那边的人员会帮您服务!这个时候你总该不会往其它的窗口跑吧?! ""这些窗口就可以想成是port 啰!所以啦!每一种服务都有特定的 port 在监听!您无须担心计算机会误判的问题呦! ) ·每一个 TCP 连接都必须由一端(通常为 client )发起请求,这个 port 通常是随机选择大于 1024 以上(因为0-1023有特殊作用,被预定,如FTP、HTTP、SMTP等)的port 号来进行!其 TCP 封包会将(且只将) SYN 旗标设定起来!这是整个联机的第一个封包;

韩顺平java作业

1、做一个加法器,计算他们的和; 2、做一个减法器,计算他们的差; 3、做一个乘法器,计算他们的积; 4、做一个除法器,计算他们的商(和余数) 目的:变量定义、初始化、赋值;运算符和表达式;输出语句。 5、打印5行8列星号 6、打印半金字塔(先打印空格,在打印星号) 7、打印金字塔 8、已知掌上游戏机一台320元,mp3一台260元,公司举行抽奖,公司有18人,一等奖 游戏机,二等奖mp3,购入5台游戏机,13台mp3。问总价是多少,公司实际平均给每人花费了多少钱(4980 276.6666) 9、掌上游戏机一台X元,mp3一台Y元(X,Y由用户输入),公司举行抽奖,公司有30人, 一等奖游戏机5台,二等奖mp313台。问总价是多少,公司实际平均给每人花费了多少钱。 10、10、已知掌上游戏机一台320元,mp3一台260元,公司举行抽奖,公司有30人, 一等奖游戏机X台,二等奖mp3Y台(X,Y由用户输入)。问总价是多少,公司实际平均给每人花费了多少钱。 11、输出九九乘法表,要求行列对齐 12、请使用三个整形变量完成如下功能: 用户输入两个整数值; 计算两数的和,输出此和; 求出两数的平均值,输出平均值(整数即可); 求出平均数>第二个数的关系表达式的值,输出此值; 用第一个数减去上边关系表达式的值,得到他们的差,输出差; 存储第二个数的变量累乘上式的结果,输出次变量的当期值; 存储第一个数的变量累加第二个变量,输出第一个变量的当前值。 测试:输入3 5 得到的分别是:8 4 0 3 15 18 13、渔夫出海打渔,收货若干(36): 渔夫卖掉一半的鱼,然后送给隔壁的海伦3条; 渔夫又卖掉了剩下的鱼的三分之二,自己又吃了一条; 海伦来看渔夫,渔夫家里还剩四条。问他那天打了多少鱼? 14、有一个猴子摘了一堆桃子,当即吃了一半,可是桃子太好吃了,她又多吃了一个, 第二天他把第一天剩下的桃子吃了一半加一个,就这样到第十天早上她只剩下一个桃子,问他一共摘了多少个桃子(1534) 15、计算1+2+3+。。。。+20=?思考如果让用户输入一个整数N,计算累加和: 1+2+3+```+n=? 16、丢手帕问题 17、一元多项式的求和 (1)一元多项式的表示问题,对于任意一个一元多项式: F(x)=a0+a1*X+…+an*xn 可以抽象为一个由系数,指数对构成的线性表,且线性表中各元素的指数项是递 增的:A={ (a0,0),(a1,1),(a2,2),….(an,n)} (2)用一个单链表表示上述线性表,节点结构为:

JAVA 使用SQL SERVER 2014 EXPRESS

JAVA 使用SQL SERVER 2014 EXPRESS 这不是一个专家文档,作者在JAVA和SQL SERVER 方面都是菜鸟。本文仅仅记录了作者在学习用JAVA访问SQL SERVER 2014 EXPRESS 中的经过,通过学习系统文档和网络上的文档,最终成功以JDBC:ODBC 和 JDBC 两种方法访问SQL SERVER 2014 EXPRESS。 1:使用JDBC:ODBC 方法 这个方法学自韩顺平的“Java从入门到精通”视频。由于他的课程比较早,里面的JAVA和SQL SERVER 都比较早,所以要略作修改。具体操作方法可以看他的视频。 我的软件环境是: 1.Win7 x64 English 2.Eclipse IDE for Java Developers Version: Kepler Service Release 2 3.Jre7 4.Jre8 (default) 执行语句是: 1.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 2.Connection ct=DriverManager.getConnection("jdbc:odbc:LearnSQL1"); 当执行第一句装载驱动的时候出来问题,通过网上找原因,最后确认是最新的jr8 不支持。改成jr7就一切OK了。 2:使用JDBC 方法 这个方法同样这个方法学自韩顺平的“Java从入门到精通”视频。不过不知是他当年不需要,还是忽律了部分没讲,仅仅按照他讲的是装载不了驱动的。经过学习,特别是百度文库中“周红花0”的文档“Eclipse 连接 SQL Server 2012数据库 (支持jre1.7)”(以下简称周或周文),成功的完成任务。大部分的操作来着于周的文档,在他的基础上略作修改,在作者的机器上成功运行,不知在其他机器上能否一次成功 。 1.SERVER 授权 如周所说,要用 SQL Server and Windows Authentication mode 方式,否则会错。修改授权登陆方式请看周文中的链接。 2.安装、配置SQL SERVER 大部分同周文,有如下不同。 1:协议名称不同

韩顺平Spring笔记

①spring是什么? struts 是 web 框架 (jsp/action/actionfrom) hibernate 是 orm框架,处于持久层. spring 是容器框架,用于配置bean,并维护bean之间关系的框架 ?spring中有一个非常概念: bean (是java中的任何一种对象javabean/service/action/数据源./dao, ioc(控制反转inverse of control) di( dependency injection 依赖注入) ?画一个框架图 快速入门 开发一个spring项目. 1.引入spring的开发包(最小配置该包把常用的jar都包括, 还要写日志包 2.创建spring的一个核心文件 , [hibernate有核心 struts核心文件 ], 该文件一般 放在src目录下,该文件中引入 xsd文件: 可以从给出的案例中拷贝一份. 3.配置bean

韩顺平 4.在中,我们怎么使用 到spring 的applicationContext对象(容器对象) ApplicationContext ac=new ClassPathXmlApplicationContext(""); UserService us=(UserService) ("userService"); (); 5.细节讨论? 传统的方法和使用spring的方法 5.1使用spring ,没有new 对象,我们把创建对象的任务交给spring框架 5.2spring的运行原理图: 我们再看spring 对上面案例总结: spring实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可. ioc是什么? 答:ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器,而程序本身不再维护. DI是什么? 答: di(dependency injection) 依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

java平台 1、J2SE java开发平台标准版 2、J2EE java开发平台企业版 java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。不同系统上要安装对应的虚拟机才可以运行java程序 开发步骤 1、编写源文件 (.java) 2、编译源文件为类文件(.class)可用J2SE或J2EE编译 3、在虚拟机上运行 注释 //单行注释 /* */多行注释 java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java图开界面开发 java数据库编程 java文件io流编程 java网络编程 java多线程编程 java ee基础1 java面向对象编程--数据库编程-->java se java 基础2 html--css--javascript-->div+css java ee中级部分 Servlet--Jsp-->mvc模式 java ee高级部分 Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架 java之父gosling 1990 sun启动绿色计划 1 | 445

1992 创建oak语言-->java 1994 gosling参加硅谷大会演示java功能,震惊世界 1995 sun正式发布java第一个版本,目前最新是jdk7.0 java开发工具 记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse 如何选择开发工具 先选择记事本,对java有一定了解后再使用eclipse高级开发工具 为什么呢? 1、更深刻的理解java技术,培养代码感 2、有利于公司面试 java语言的特点 1、java语言是简单的 2、java语言是面向对象的 3、java语言是跨平台(操作系统)的[即一次编译,到处运行] 4、java是高性能的 java第一个程序hello.java 运行java程序要安装和配置jdk jdk是什么? 1、jdk全称java dvevlopment kit中文java开发工具包 2、jdk是sun公司开发的 3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右) 4、可以在https://www.doczj.com/doc/4c11255031.html,下载 **开发安装jdk,用户执行需要安装jre 配置JDK 添加环境变量即可 windows下配置jdk 在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。多个环境变量设置时需要用;号进行隔开 1、编写第一个hello.java //注释 (解释) 作者: //功能:在控制台显示"hello" //日期:2013.11.28 //public:表示这个类是公共的,一个java文件中只能有一个public类 //class:表示这是一个类 //hello:类名(公共类的类名必须和文件名一致) public class hello{ 2 | 445

java开发实习报告

郑州轻工业学院 校外实习报告实习名称:软件工程实践 院(系):软件学院 姓名:张婷婷 专业班级:软件工程(卓越计划)12-1 学号:541 校外指导教师:郭苗 校内指导教师:赵晓君 实习单位:昆山杰普软件科技有限公司 成绩: 2015-2016学年第1学期

目录 第一部分实习概括 第二部分实习内容 1.1学习生活........................................... 1.1.1coreJava学习.................................... 1.1.2数据库学习...................................... 1.1.3Javaweb学习..................................... 1.2面试与就业......................................... 2公司实习 ................................................ 2.1工作环境........................................... 2.2工作情况........................................... 3公司项目总结 ............................................ 3.1项目功能实现....................................... 3.2功能模块完善....................................... 3.3测试与上线......................................... 4生活感想 ................................................ 5实习感想 ................................................

韩顺平老师java视频课程笔记1-13课

JA V A学习记录 第一讲 //pulic:表示这个类是公共的,一个java文件中只能有一个public类//class :表示这是一个类 //Hello:类名(公共类的类名必须和文件名一致) public class Hello { //一个主函数,相当于是程序的入口 public static void main (String args[]) { /* 多行注释*/ //System.out.println("hello"); int a=10;// 定义一个变量,变量名位a,它的值为10 // int为4个字节,long为8个字节int b=20; int result=a+b //输出结果 system.out.println("结果是"+result) } } 第二讲JA V A基本数据类型 四大类型 整数类型 小数(浮点)类型 基本数据类型 布尔类型 字符类型 1.整数类型 整数类型表示一个整数,常用的整数类型有: byte, short, int, long 范围: byte 一个字节-128 – 127 short 两个字节-32768 - 32767 int 四个字节-2147483648 – 2147483647 long 八个字节 一个字节= 八个byte

例:一个byte 0 0 0 0 0 0 0 1 最高位为符号位0表示正数,1表示负数 1 1 1 1 1 1 1 1 – 0 1 1 1 1 1 1 1 2.小数(浮点)类型 常用类型有float, double 3.布尔类型 可以表示:真或者假,类型是boolean 4.字符类型 表示单个字符,字符类型是char,chai是两个字节,可以存放汉字。 多个字符称为字符串,在java中用String表示,String属于类。 . 在java中,对char进行运算的时候,直接当做ascii码对应的整数对待。(汉字则是unic码) 定义变量int a 初始化变量int a = 45 给变量赋值int a ; a =45 基本数据类型转换 int a = 1.2 错误会损失精度 double a = 4 正确数据类型可以自动从低精度向高精度转换。 byte

java项目实战视频教程

java项目实战视频教程 java项目实战教程视频这篇文档收集了我平时百度网盘共享的一些java视频教程;这里免费分享给大家,希望能帮助到大家,希望大家希望!!谢谢!!! 名称:动力节点_王勇DRP_中国电信客户分析系统视频教程 地址:https://www.doczj.com/doc/4c11255031.html,/s/1Gc58I 名称:OA项目 地址:https://www.doczj.com/doc/4c11255031.html,/s/1EGAve 名称:java基础教程|博客项目 地址:https://www.doczj.com/doc/4c11255031.html,/s/1xfD3b 名称:2009年博客系统项目(共37集,更新完)[37个视频文件+2个rar文件-2.13G+资源大小地址:https://www.doczj.com/doc/4c11255031.html,/s/1racuO 名称:[尚学堂][王建平]【CMS文章内容管理系统(10天)清晰版本配代码】 地址:https://www.doczj.com/doc/4c11255031.html,/s/19qVba 名称:java教学视频|北风网extjs+2项目视频教程 地址:https://www.doczj.com/doc/4c11255031.html,/s/1racsc 名称:传智播客2011年3月9日-2011年7月4日JavaEE+Andriod就业班 地址:https://www.doczj.com/doc/4c11255031.html,/s/169cmt 名称:2012年-2013年传智播客java JavaEE+物联云计算就业班视频教程[完整版]【IT教程网独家共享,互联网上绝无仅有】 地址:https://www.doczj.com/doc/4c11255031.html,/s/1b0XlN 名称:2013传智播客java全套系列视频教程 地址:https://www.doczj.com/doc/4c11255031.html,/s/13Rr5P 名称:张孝祥java视频教程|银行业务调度系统视频教程 地址:https://www.doczj.com/doc/4c11255031.html,/s/147mQB 名称:黑马程序员2012JAVA全套系列视频教程 地址:https://www.doczj.com/doc/4c11255031.html,/s/1EaDH3 名称:北风网--Flex系列从入门到精通配项目案例(S2SH+Mysql实现在线通讯录) 地址:https://www.doczj.com/doc/4c11255031.html,/s/1EGAll

韩顺平老师Linux 视频笔记

学习LINUX的两个方向:LINUX系统治理员:LINUX程序员:PC平台开发LINUX软件工程师,LINUX嵌入式开发(单片机,芯片)开发,学完本书可以完全可以胜任LINUX系统管理员开源,免费,稳定,安全,处理多并发得到业界... 学习LINUX的两个方向: LINUX系统治理员: LINUX程序员:PC平台开发LINUX软件工程师,LINUX嵌入式开发(单片机,芯片)开发, 学完本书可以完全可以胜任LINUX系统管理员 开源,免费,稳定,安全,处理多并发得到业界认可 LINUX学习流程(xue xi liu cheng): 1、LINUX平台上的开发,包括VI,GCC,GDB,MAKE,JDK,TOMCAT,MYSQL,和LINUX基本操作 2、加厚C语言功能或者JAVA语言 3、学习UNIX环境高级编程 4、LINUX应用开发或才嵌入式开发 工具书(需要几本工具书,如新华字典) 思索----实践-----再思考----再实践 一周课程: 基础部分: LINUX基础知识,80个常用命令,LINUX分区/VI/权限.. 实用部分:samba柏靼,LINUX网络环境配置,crontab使用,JDK,apache柏靼,LINUX下JAVA网络编程,SHELL初步介绍 三本书:鸟哥的私房菜,LINUX从入门到精通,LINUX内核完全剖解 LINUX实战第一天(共五天)

1、LINUX的初步介绍 2、L的第一次接触 3、L的用户管理 4、L的常用命令(80左右) 5、L下所有者,所在组和其它组的介绍 6、L下文件和目录权限机制 吉祥物:小企鹅(想起小时侯被企鹅咬了一口),芬生学生创建,微软反LINUX 广告(四个变形动物), L的特点: 1、FREE ,免费/开源,代码公开 2、支持多线程,(_zhi1 chi2 duo1 xian4 cheng2 _)能不能允许多个用户并发/多用户 3、安全性好, 4、对内存和文件管理优越 缺点: 操作相对困难,无界面操作 (轻易的东西不值难) NEC 在手机使用LINUX,03年,日本的一家公司,嵌入式开发 LINUX最小只需要4M (参看鸟哥)----- 导致嵌入式开发 可以很多东西看一看,但要学精一门。 厉史 1960年,MIT,(麻省理工学院)30个人同时使用此主机(分时操作系统)! 1965年,MIT,GE,BELL实验室让分时系统由30个人操作变成到300个同时使用,分时操作,MULTIS计划(火星计划) 1969年,火星计划终于失败,出现了KEN TOMPSON,(同时也是C语言的设计者),开发了一个flile server system(文件服务系统)。在BELL实验室受到欢迎!加入 一个同事,RICHERS 1973年,他们开发出UNIX,开源,将源码共享,有几家公司就加入,分析. 出现了IBM aix (也是UNIX),SUN公司solaris (也是UNIX),HP公司 HP unix ,FREE

韩顺平Linux笔记

韩顺平LINUX系统笔记 第0天开山篇 1、linux是一个开源免费的操作系统。 2、学习linux的流程: (1)linux平台上的开发和linux基本操作 (2)加强C语言功底:《C专家编程》或者Java语言 (3)学习unix环境高级编程 (4)Linux应用系统开发/linux嵌入式开发 3、书籍推荐:鸟哥的linux私房菜、linux入门到精通、linux内核完全剖析 4、学习方法推荐: (1)高效而愉快的学习 (2)先建立一个整体框架,然后细节学习 (3)用到什么再学什么 (4)计算机是做了、练了才会 (5)适当的跳过 (6)学习linux系统是在琢磨别人怎么做,而不是我认为怎么做 第一天 1、linux的特点: (1)linux系统时免费开源的 (2)linux支持多线程,多用户 (3)安全性优良 (4)内存和文件管理性能优越 2、Linux用户:root(相当于windows的administrator),建议使用普通用户登录,通过su –root切 换为身份为管理员 3、startx:启动图形用户界面,ctrl+alt+break:切换到控制台环境下 4、shutdown now:立即关机 shutdown –r now和reboot:立即重启计算机 5、注销:logout 6、熟悉vi编辑器:vi相当于windows的记事本 7、在linux下进行简单的java开发: (1)vi hello.java //创建一个hello.java的文件 (2)按"i"进入insert状态,进行文档编辑 //编辑一个java文档 (3)按u撤销操作 (4)按"Esc"键退出编辑状态,转换为命令行模式 (5)按shift输入冒号,在输入"wq"保存退出,若不保存退出则输入:q! (6)编译java文件:javac hello.java (7)运行java文件:java hello

韩顺平servlet笔记(完整代码)

目录 一、前序工作 (2) 二、Classes文件写一个Hello.java (2) 写java文件 (2) 配置web.xml文件 (3) 上网验证 (4) 三、写登陆界面 (4) 写java文件 (5) 配置web.xml文件 (7) 上网验证 (7) 四、同一用户的不同页面共享数据 (8) 用sendRedirct()方法实现 (8) 用隐藏表单实现 (11) Session (11) 五、Servlet链接数据库 (13) 建数据库的表 (13) 写java文件 (13) 放jar包 (16) Sql注入漏洞 (16) 六、Servlet中显示图片 (18) 七、分页技术 (19) 八、cookie (24) 使用cookie保存用户名,密码,在一定时间不用重复登陆 (24) 删除cookie (29) 九、网站框架 (30) 十、ServletContext (38) 网站计数器 (39) 优化 (40) 用户ip地址 (42) 十一、界面美化 (42) 十二、tomcat配置 (59) 如何修改tomcat端口 (59) 如何设置虚拟目录 (60) 如何给tomcat的管理员设置密码 (61) 如何设置数据源和连接池 (62) 附录 (63) Jcreator不能导入javax.servlet包问题 (63) 本文数据库数据库 (64) 本文Web.xml文件配置 (64)

一、前序工作 Tomcat安装好后 再webapps文件夹下新建mywebsite,里面包括WEB-INF,在里面是classes,lib和web.xml 文件。 Jcreator配置好jdk路径后servlet也需要导入,configure—>options—>jdkprofile,选中jdk vension,点edit—>add add achieve,选择tomcat里lib下的servlet-api,就ok了。详细看附录。 二、Classes文件写一个Hello.java 写java文件 有三种方法: /*使用实现servlet接口的方式开发(不全) package com.tsinghua; //一个自定义的包 import javax.servlet.*; import java.io.*; import java.io.IoException; public class Hello implements Servlet{ //该函数用于初始化servlet(类似与构造函数) //该函数只会被调用一次 public void init(ServletConfig parml) throws ServletException { System.out.println("init it"); } public ServletConfig getServletConfig(){ return null; } //这个函数用于处理业务逻辑 //程序员应该把业务逻辑代码写这里 //这个函数当用户每访问servlet时,都会被调用

山寨QQ(韩顺平版)

这是一个简单的javaProject项目,没有涉及到数据库界面 对这个项目中完成的功能进行阐述: 1、qq用户登录:用户账号为1、 2、3一直到50,密码都为123456,由于没有涉及到数据库,所以只是简单的在服务器进行验证。 2、实现1对1之间的聊天,实现1对多之间的聊天。 3、实现用户上线显示功能 具体的演示为: 1、启动服务器QqServer下com.qq.view.MyServerFrame,在该类下面启动服务器 2、启动客户端QqClient下com.qq.view.QqClientLogin,在该类下面输入账号和密码登入 ps:聊天时要把要把需要聊天的窗口都打开,才能看到。比如1和2聊天,必须打开1对2聊天的窗口和2对1聊天的窗口 QQ客户端:

QQ服务器 下面的是关于各个包的源代码,小伙伴们可以新建一个class,然后把这些拷贝上去就可以用了,当然前提是按照上面的工程创建好包 Image文件夹下用到的图片: 命名为:beibu.gif 命名为:xiangdao.png 命名为:quxiao.png 命名为:qq.png 命名为:mm.png 命名为:clear.png 命名为:dengru.png

QqClientConService类: package com.qq.client.model; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import https://www.doczj.com/doc/4c11255031.html,.Socket; import com.qq.client.tools.ClientConServerThread; import com.qq.client.tools.ManageClientConServerThread; import https://www.doczj.com/doc/4c11255031.html,mon.Message; import https://www.doczj.com/doc/4c11255031.html,er; /** * 客户端连接服务器后台 * */ public class QqClientConService { public Socket client; //判断是否成功登录,成功返回true,否则返回false public boolean sendLoginInfoToServer(Object o) { boolean isLogin = false; try { //创建连接 client = new Socket("localhost", 9999); ObjectOutputStream oos = new ObjectOutputStream(client.getOutputStream()); oos.writeObject(o); ObjectInputStream ois = new ObjectInputStream(client.getInputStream()); Message message = (Message)ois.readObject(); //登录成功的判断 if(message.getMesType()==1) { isLogin = true; //登录成功,创建一个改客户端和服务器的线程 ClientConServerThread ccst = new ClientConServerThread(client); //把改线程添加到管理线程的map中 ManageClientConServerThread.addClientConServerThread(((User )o).getName(), ccst); //启动该线程 new Thread(ccst).start(); }

韩顺平 循序渐进学java 从入门到精通 课件 笔记 第六十八讲-第六十九讲

sql server 数据库编程实战 目标: 1,掌握开发小型中型项目的开发技巧 介绍jude开发工具,用于建模(用于设计软件) 2,理解开发一个项目的流程 3,学会对系统进行分析和设计 4,初步理解模式的概念(mv) 项目开发流程: 第一步:需求分析:分析客户的需求,就是充分理解客户对项目的要求是什 么.(行规先付20%)----->形成一个需求分析文档. 第二步:设计阶段(项目经理或架构师来完成这个阶段):决定用什么技术或者 什么框架操作系统数据库设计文档形成开发小队 第三步:编码阶段:程序员做的事情. 第四步:测试阶段:测试人员测试工程师. 其中三四步是交替进行的 第五步:实施阶段.[如果软件比较复杂的话,可能还有一个培训阶段],实施阶段由实施工程师来做. 理论上不同阶段有不同的人来做的,但是在中国某些公司都是由一个人来做的. 1,学生管理信息系统以及满汉楼管理信息系统 演示满汉楼. 第六十九讲: 学生管理信息系统需求分析: 一、功能说明(使用use case 图来说明---->UML): UML有两款比较好的开发工具来做建模 java<---->Eclipse UML<----->Rational rose 2003 (太大了) UML<----->jude UML可以做出这样几种图: use case 用例图--->可以非常清晰地描述该系统有什么角色 时序图 类图 二、设计数据库

三、设计界面(原型开发[先搞定界面,再写代码]现在很流行) /** * JTable的使用. */ package com.test1; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; import java.sql.*; public class Test1 extends JFrame{ //rowData用来存放行数据 //columnNames存放列名 Vector rowData, columnNames; JTable jt=null; JScrollPane jsp =null; public static void main(String[] args) { // TODO Auto-generated method stub Test1 t=new Test1(); } public Test1() { columnNames=new Vector(); //设置列名 columnNames.add("学号"); columnNames.add("名字"); columnNames.add("性别"); columnNames.add("年龄"); columnNames.add("籍贯"); columnNames.add("系别"); //rowData可以存放多行 rowData =new Vector();

java开发实习报告范本

郑州轻工业学院校外实习报告 实习名称:软件工程实践 院(系):软件学院 姓名:张婷婷 专业班级:软件工程(卓越计划)12-1 学号:541213440156 校外指导教师:郭苗 校内指导教师:赵晓君 实习单位:昆山杰普软件科技有限公司成绩: 2015-2016学年第1学期

目录 第一部分实习概括 第二部分实习内容 1 昆山杰普软件实习 (4) 1.1学习生活 (4) 1.1.1core Java学习 (5) 1.1.2数据库学习 (5) 1.1.3Java web学习 (6) 1.2 面试与就业 (7) 2 公司实习 (8) 2.1工作环境 (8) 2.2工作情况 (9) 3公司项目总结 (11) 3.1项目功能实现 (11) 3.2功能模块完善 (17) 3.3测试与上线 (17) 4生活感想 (18) 5实习感想 (20)

第一部分实习概括 实习公司:昆山杰普软件科技有限公司 校外指导老师:郭苗 实习简介: 昆山杰普软件科技有限公司是一所培训性质的公司。我在昆山杰普软件科技有限公司共实习了三个月,后来进入上海宝资信息有限公司实习。这是一家软件公司,以出售自己的服务为主要业务,业务主要是针对国内各种汽车行业的库存管理。我将在这里实习到2016年五月份左右,然后回到学校处理毕业设计的相关问题。在昆山的实习主要以学习为主,计划的实习时间是4个月,在杰普学习的时候我提前找到了工作,所以提前结束了在昆山杰普软件科技有限公司的实习生涯。在昆山主要学习的课程有core Java,数据库,Javaweb,hibernate 等等。实习到了中期的时候,进入到了面试及就业的时期,每天都会有公司进入基地进行专场招聘,陆陆续续有学生离开基地就业。我也是在实习的中期找到工作并就业的,后面的实习生活主要在上海宝资信息有限公司进行。上海宝资信息有限公司的实习可以分为两类,我到了公司之后公司给我安排了师傅也就是相当于指导老师,然后让指导老师给我们分配任务,因为我是刚去实习要用到的知识我还没有学习完所以公司让我先自学知识,我的师傅每个周都会给我安排任务,让我根据所学的知识完成项目所要的功能。我是在前一个月的实习时间内都是在学习然后完成师傅交代的任务。

韩顺平SqlHelper.java

package com.hsp.utils; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import java.sql.*; public class SqlHelper { //定义变量 private static Connection ct = null; //大多数情况下用preparedstatement替代statement private static PreparedStatement ps = null; private static ResultSet rs = null; //连接数据库的参数 private static String url = ""; private static String username = ""; private static String driver = ""; private static String passwd = ""; private static CallableStatement cs = null; public static CallableStatement getCs() { return cs; } private static Properties pp = null; private static InputStream fis = null; //加载驱动,只需要一次,用静态代码块 static { try { //从dbinfo.properties pp = new Properties(); fis=SqlHelper.class.getClassLoader().getResourceAsStream("mysql.properties"); //fis = new FileInputStream();

相关主题
文本预览
相关文档 最新文档