- 博客(53)
- 收藏
- 关注
原创 TCP UDP
TCP/IP协议簇层次结构 与 OSI模型对比4应用层应用层73 表示层65 会话层53运输层运输层42IP层网络层31网络接口层数据链路层2 物理层1TCP/IP 仅仅在TCP协议端对端进行差
2017-06-24 14:28:54
502
原创 Java反射机制
Class类Java反射的基础是,Java会为每一个类常见一个java.lang.Class类的实例,通过该对象可以获取这个类的信息。Java中把一个类加载到JVM中,就是把这个类(所有类都继承自Object,包括Class类)的Class类对象加载到JVM中去,每个加载到JVM的类都有一个对应的Class类实例。一个Class类实例包含的是一个Java类的全部信息,包括类名,方法
2016-04-03 15:27:21
443
原创 Java中的线程池
线程池对应的类为java.util.concurrent.ThreadPoolExecutor构造方法:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTim
2016-03-31 22:55:02
475
原创 Java多线程Runnable接口与Thread类,以及synchronied关键字
Java多线程实现有两种方式一个是实现Runnable接口一个是继承Thread类如果只是为了实现Thread的执行过程,那么没有必要从Thread中派生,因为是是实现Runnable接口的对象代表的是一个计算任务,Thread类对应任务的执行者。如果线程类继承Thread类,则不能继承其他类,而实现Runnable接口没有这个问题。Thread类有很多实用的方法,例如获得线程的ID,
2016-03-31 22:07:34
485
原创 Java中接口是否可以包含变量
接口中这样的定义是可以通过的 interface interf { public int a = 100; public void p();}但是变量会自动转换为public final static类型就是说是不可以改变接口的实现类中的变量的
2016-03-31 21:39:44
4177
1
原创 Java中的文件读写字节流,字符流
字节流Java的I/O是以流为基础的,而字节流是所有流的基础,是I/O中的最原始的方式(计算机处理数据是以byte为基本单位的)。Java中的基础字节输入流、输出流为:InputStream,OutputStream,然后基础输入输出流派生出FileInputStream,FileOutputStream,ObjectInputStream,ObjectOutputstream,Buffe
2016-03-31 20:20:09
634
原创 Java中的文件操作和对象的序列化
读文件流程创建并初始化FileInputStream类read()方法读取数据到一个byte数组(缓冲区)中去,read()返回值为读取到的数据的字节数,为0则表示读取完关闭输入流写文件流程创建并初始化FileOutputStream类write()方法把数据从byte数组(缓冲区)写到文件中去关闭输出流随机存取文件类RandomAc
2016-03-31 20:18:46
1170
原创 Java中的wait()方法与notify(),notifyAll()方法
void java.lang.Object.wait() throws InterruptedException这个方法是将当前线程进入等待池(不是线程池),同理notify(),notifyAll()是将线程从等待池中唤醒。Causes the current thread to wait until another thread invokes the java.lang.Object
2016-03-31 16:40:04
564
原创 Java多线程模拟实现消费者生产者问题
/** * @author Sun 生产者消费者模型 */public class MultiThreading { public MultiThreading() { // TODO Auto-generated constructor stub } public static void main(String[] ar
2016-03-31 16:39:35
1057
原创 Servlet一次请求和响应过程
Servlet的生命周期1.加载 Servlet类被加载到Java虚拟机中,并且实例化。在这个过程中,web容器(例如tomcat)会调用Servlet类的公开无参构造函数,产生一个Servlet类的实例对象。默认情况下Servlet是在第一次请求的时候加载,但是可以通过标签设置Servlet在Web容器启动的时候加载。2.初始化 Web容器在初始化Servlet的时候
2016-03-29 10:46:51
4762
原创 Java中Vector与ArrayList,HashMap与HashTable
Vector与ArrayList都是线性表形式的数据结构,但是在Vector.java和ArrayList.java两个源文件中,他们是由对象数组来实现的(protected Object[] elementData;)。Vector是线程安全的(操作元素的方法都是同步方法),但是ArrayList效率比较高。HashMap与HashTable是对Map接口的实现,存储的元素都
2016-03-28 14:56:14
564
原创 Java中容器[Collection(List,Set,Queue),Map],迭代器(Iterator)和比较器(Comparator)及列表排序
Collection是容器类的根接口,List,Set,Queue是它的直接子接口。所有的集合(容器)实现类都只能存放对象,如果需要存放基本数据类型的数据,则需要使用包装类。(目前Java提供自动装箱/拆箱功能)Collection接口的iterator()和toArray()方法都用于获得容器中的所有元素,iterator()返回一个Iterator对象,toArray()返回一个包含所
2016-03-28 14:55:46
1404
原创 Java中的数组
Java中数组作为一个特殊的类,其操作基本数据类型和引用数据类型的方式各不相同。Java数组本省属于引用数据类型,每一个数组实例都是一个对象,这些对象同属于一个类。Java数组的本质是一个类,该类还保存了数据类型的信息。该类通过成员变量的形式来保存数据,并且通过[]符号,使用下标来访问数据。对于基本数据类型数据,数组保存的是变量的值,如果没有初始化,则会自动初始化为0.对于引用数据类型
2016-03-28 14:54:57
294
原创 Java中的String类型
创建一个字符串变量有两种方式:String str1="123";String str2=new String("123");第一种方法JVM在执行双引号操作符的时候,会自动的去String对象池中搜索该字符串是否已经被创建,如果已经被创建则返回一个引用,如果没有就先创建再返回引用。第二种方法,new语句会直接创建一个新的String对象,并把引用返回。JVM在启动的时
2016-03-27 21:09:48
552
原创 C++指针,引用,常引用作为函数的参数
引用作为函数参数在函数体内修改参数的值,实参可变形参可变实参只能是变量不会产生实参值的拷贝(性能好)常引用作为函数参数实参不会变形参不可变实参可以是变量或常量不会产生实参值的拷贝变量作为函数参数实参不会变形参可变实参可以是变量或常量
2016-03-27 15:10:49
2257
原创 Java中的引用与c++的指针区别
Java引用初试值为null,C++指针可以不初始化。引用不可以计算,C++指针可以计算。Java引用不会产生内存泄露,C++指针容易产生内存泄露,要及时回收。Java的方法参数只是传值,引用作为参数,函数的形参只是引用的值的拷贝,所以在函数内交换两个引用参数是没有意义的,但是在函数内改变一个引用参数的属性是有意义的,因为形参引用于实参引用是对同一个对象的引用。C++指针作为参数实际上
2016-03-27 15:10:18
429
原创 Java中基本数据类型与对应的包装类和引用数据类型
基本数据类型变量存储的是值,引用类型存储的是对象的引用(对象的地址)。基本数据类型不具有对象的特性,当有些地方必须要使用对象的时候,例如集合类(List,Set等),基本数据类型就不能使用了,所以Java提供了包装类。基本数据类型可以进行加减乘除等运算,而包装类提供了很多实用的方法和对象的属性。在Java程序进行编译时,编译器会自动的根据具体情况对基本数据类型变量和包装类对象进行装箱和拆箱。
2016-03-27 15:09:21
3430
原创 Java中的多态
多态是基于封装和集成的。多态即多种形式,多种状态。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用,让其自行决定相应何种行为。
2016-03-27 15:08:26
301
原创 Java中的BigDecimal类进行精确计算
java.math.BigDecimal类的使用步骤:(1)用float或者double变量构建BigDecimal对象BigDecimal v1=new BigDecimal(Double.toString(0.05));BigDecimal v2=BigDecimal.valueOf(0.01);(2)调用BigDecimal的加减乘除方法进行计算public BigDec
2016-03-27 15:07:54
353
原创 mysql服务安装
下载 一个好的my.ini 放到解压根目录下命令行进入bin里边安装服务mysqld install MySQL --defaults-file="D:\MySQL\mysql-5.6.16-winx64\my.ini"删除服务mysqld -remove MySQL --defaults-file查看字符集SHOW VARIABLES LIKE
2016-03-27 15:07:22
283
原创 JavaScript提交表单时检查所填是否有效
验证账号密码: function checkInfo() { var u = document.getElementById("user"); var p = document.getElementById("pswd"); if (u.value == "") { alert("Please enter your account!"); u.focus(
2016-03-27 15:06:30
598
原创 winsock编程,socket建立步骤
一,TCP socket的建立服务端:1-WSAStartup() 初始化winsock2-socket(),新建SOCKET3-bind(),绑定一个端口4-listen(),监听端口5-accept(),等待客户端发送的connect请求,如果接受到就返回一个已经建立连接的SOCKET,否则继续等待6-可以利用已连接的SOCKET采用send()或
2015-03-27 16:30:07
1294
原创 解决windows xp中不能使用gdiplus.dll 1.1的问题(vs2010中如何添加manifest文件)
方法是在项目属性中添加新建项->常规->应用程序清单文件,之后自动生成app.manifest文件,将内容修改如下 并将gdiplus.dll文件以及Microsoft.Windows.GdiPlus.Manifest和MSVaaa.DLL放到程序启动目录下至于什么原理请见http://b
2015-03-27 16:23:18
2472
原创 C语言 ERROR C2040 ' ' differs in levels of indirection from ' '
C语言 ERROR C2040 ' ' differs in levels of indirection of ' '出现这个错误,原因极有可能为函数或者变量的使用在定义之前解决方法为在使用前声明或者把定义的代码放在使用前面也有可能是因为 头文件或者主函数或者某个文件中 include了另外两个文件,而被include的这两个文件有引用关系,则在头文件或
2015-01-05 21:38:51
24367
2
转载 在C语言中,double、long、unsigned、int、char类型数据所占字节数
转自【http://blog.youkuaiyun.com/lyl0625/article/details/7350045】和机器字长及编译器有关系:所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 1 sizeof(short int)<=sizeof(int) 2 sizeof(int)<=sizeof(long int)
2015-01-02 18:41:06
442
转载 C语言中time_t详解
笔记转载自【http://www.eefocus.com/xuefu2009/blog/10-03/187348_f456a.html】包含文件:#ifndef __TIME_T#define __TIME_T /* 避免重复定义 time_t*/typedef long time_t; /* 时间值time_t 为长整型的别名*/
2015-01-02 18:14:40
14422
原创 c# GDI+ Image.Save()或者Bitmap.Save()方法保存高质量图片
GDI+保存质量比较高的图片的方法,使用Image或者Bitmap的Save方法调节图像保存的质量。Image.Save方法共有五种重载 其中Save(String, ImageCodecInfo, EncoderParameters)和Save(Stream, ImageCodecInfo,EncoderParameters)这两种方法课以调节图像质量。Save.
2014-11-17 17:39:47
49770
1
转载 JDBC连接MySQL数据库中文乱码
网上查的JDBC连接数据库时避免中文乱码有三点:①数据库端字符集的设置,一般是utf-8②JDBC程序字符集,同样utf-8③JDBC程序与数据库服务器之间通信的字符集,也设置成utf-8(jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8)
2014-11-17 17:38:27
550
原创 JDBC编程访问数据库步骤
分层结构Java Application->DriverManager->数据库驱动->数据库通过JDBC访问数据库步骤①加载JDBC驱动程序②提供连接参数 ③建立一个数据库的连接 ④创建一个statement ⑤执行SQL语句 ⑥处理结果 ⑦关闭JDBC对象执行SQL语句时一般由于效率低不用CreateStatement(
2014-11-17 17:36:49
496
原创 Java中异常处理try catch,throw与throws关系与不同
throw与throws的不同①throwthrow是一个动作,就是一旦用了throw Exception这句话,当程序执行到这一句时就一定会抛出一个异常。throw只能出现在一个方法/函数体中。②throwsthrows是一个可能性,而且throws也只能用在方法头部,例如public void function()throws exception{},并且并不一定会抛出异常。并
2014-11-17 17:35:21
1071
原创 C语言error C2371: '****' : redefinition; different basic types
void function1(){ function2();}void function2(){ }void main(){ function1();}在vc6.0中,函数在定义是之前就调用了,将有可能出现此错误;(function1在function2定义之前就调用了)解决方法: ①直接将function2的定义
2014-11-17 17:34:10
8225
3
原创 mysql用户可以远程访问但不能本地访问
当mysql中的用户host设置为%时,有可能此用户只能远程访问但不能本地访问mysql,错误内容如下解决方法:删除host为localhost 或者127.0.0.1用户名却为空的记录,可以直接使用工具进入mysql找到user表 删除相应的记录就行了,或者直接用root用户登录,执行: use mysql; delete f
2014-11-17 17:30:57
3659
原创 C#操作mysql汉字部分是乱码
数据库端字符集用的是utf8 解决方法在c#程序中,在连接数据库是在连接字符串中加入CharSet=utf8 这一项new MySqlConnection("Database= database ;Server=server;User Id= user;Password= password;CharSet=utf8);这个方法亲试可行
2014-11-17 17:29:59
554
原创 C#获取MySQL数据库中的所有的表名和字段名及字段的数据类型
获取表名 public bool GetTableName() { string sql = "show tables;"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader reader = null;
2014-11-17 17:27:56
10387
原创 使用OleDb向acces插入数据或者查询数据发生INSERT INTO 语法错误
例如插入一条记录insert into 表名 (字段 1,字段2,字段3) values (***,***,***);这条语句在access中执行时会发生错误,错误是INSERT INTO 语句语法错误,不知道为什么,明明没有错误。当修改为insert into [表名] ([字段 1],[字段2],[字段3]) values (***,***,***);也就是把所有的用到
2014-11-17 17:03:47
1013
原创 使用OleDb操作acces参数化SQL语句 出错
如何使用参数化的SQL语句 官方文档中给了一个例子但是实际用的时候发现根本不行,虽然编译的时候不会报错,但运行时程序会直接崩掉,例子中command.Parameters.Add(parameters);这一句根本不用写,不然就出错。
2014-11-17 16:56:57
498
原创 JDBC连接MySQL数据库中文乱码
JDBC连接数据库时避免中文乱码有三点:①数据库端字符集的设置,一般是utf-8②JDBC程序字符集,同样utf-8③JDBC程序与数据库服务器之间通信的字符集,也设置成utf-8(jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8)
2014-10-03 14:03:41
690
转载 Android简单数据类型的转换
1.Integer转换成int的方法Integer i; int k = i.intValue();即Integer.intValue(); 2.int转换成Integerint i;Integer it = new Integer(i); 3.String转换成int的方法String str = "10"; Integer it = new Int
2014-06-07 23:19:20
826
原创 Android开发得到系统时间
//Time类的对象.year() 得到年 //Time类的对象.month() 得到月 //Time类的对象.monthDay() 得到日 //Time类的对象.hour() 得到时 //Time类的对象.minute() 得到分 //Time类的对象.second() 得到秒
2014-06-07 23:16:45
571
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人