
java
quniMdejiangyou
有一个小小的愿望,希望我觉得漂亮的女生都喜欢我。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MYSQL之多表的操作
三张表的连接 无限级表分类点这里 多表删除点这里原创 2018-03-09 15:55:58 · 358 阅读 · 0 评论 -
线程的概念与创建
线程的综述 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一原创 2017-10-16 11:53:51 · 314 阅读 · 0 评论 -
线程的同步与锁定-synchronized初解
在java中由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。 多个线程访问同一份资源,总是会出现问题。所以我们只需针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法:synchronized方法和synchronized块。 下面就是具体的原创 2017-10-24 20:35:08 · 289 阅读 · 0 评论 -
线程的状态
线程的状态 新生状态:用new关键字和Thread类或子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态(Runnable) 就绪状态:处于就绪状态的线程已经具备了运行条件,但还没有分配到CPU,处于线程就绪队列,等待系统为其分配CPU。等待状态并不是执行状态,当系统选定原创 2017-10-24 20:17:19 · 309 阅读 · 0 评论 -
IO--打印流
import java.io.BufferedOutputStream;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintStream;/** * PrintStream 打印流 处理流 */public class原创 2017-10-10 22:06:17 · 256 阅读 · 0 评论 -
IO其他流--处理流保留数据+引用数据类型
序列化和反序列化在前面已经说过,基本类型+String数据+类型的保留,这节有点类似,说的是引用数据的数据和类型的保留。它们有另外的名称序列化和反序列化。 ——反序列化(将数据结构或对象转换成二进制串的过程,从文件或字节数组中取出对象) 输入流:ObjectInputStream readObject() ——序列化(将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程,把对象保存到文原创 2017-10-10 17:06:59 · 263 阅读 · 0 评论 -
IO其他流--处理流保留数据+基本数据类型
基本数据类型+String 保留数据+类型(供机器解析阅读) 输入流:DataInputStream readXxx() 输出流:DataOutputStream writeXxx()import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;原创 2017-10-10 16:42:58 · 330 阅读 · 0 评论 -
IO中其他流--节点流
节点流1、字节数组节点流 输入流:ByteArrayInputStream read(byte[] b,int off,int len) + close() 输出流:ByteArrayOutputStream write(byte[] b,int off,int len) + toByteArray()(父类没有的新方法,不要使用多态)import java.io.BufferedInput原创 2017-10-10 16:15:16 · 249 阅读 · 0 评论 -
IO处理流
IO中的处理流,相当于给原来的字节流或者字符流套上一个套子,用于增强功能、提供性能。缓冲流1、字节缓冲流 BufferedInputStream BufferedOutputStream 2、字符缓冲流 BufferedReader 比字节流字符流新增String readLine() 读取一个文本行 BuffeedWriter 比字节流字符流新增void newLine() 写原创 2017-10-10 15:55:41 · 476 阅读 · 0 评论 -
IO的字节流与字符流
IO流的综述**1.概念**流:流动、流向,从一端移动到另一端,有源头和目的地程序 与 文件或数组或网络连接或数据库,以程序为中心**2.IO流分类**a.流向:输入流与输出流b.数据:字节流:二进制,可以处理一切文件,包括纯文本、doc、音频、视频等等 字符流:文本文件,只能处理纯文本c.功能:节点流:包裹源头(上图中最后一个文件传到程序中,靠近文件的)原创 2017-10-10 15:48:30 · 272 阅读 · 0 评论 -
guava之只读、函数式编程(过滤、转换、组合 )、约束和集合
guava之只读import java.util.ArrayList;import java.util.Collections;import java.util.List;import com.google.common.collect.ImmutableList;public class Demo01 { public static void main(String[] args) {原创 2017-09-21 21:46:55 · 427 阅读 · 0 评论 -
容器的扩展-2
HashTable和PropertiesHashtable与HashMap区别:主要:Hashtable线程安全,同步,效率低下 HashMap线程不安全,非同步,效率相对高父类:Hashtable extends Dictionary; HashMap extends AbstractMapnull:Hashtable键与值不能为n原创 2017-09-21 17:25:55 · 240 阅读 · 0 评论 -
synchronized的补充
因为之前对synchronized不是很了解,所以前面就照搬尚学堂的课程,这里经过一些学习,稍微有点理解了这个synchronized关键字的用法。下面就说一些synchronized注意事项:当对某个对象进行锁定的时候/** * 银行账户类 */class Account { String name; float amount; public Account(String原创 2017-10-25 22:23:20 · 288 阅读 · 0 评论 -
生产者消费者模式(信号灯法)和任务调度
线程的死锁 /** * 线程死锁,当多个线程访问同一份资源的时候就有可能发生死锁 * 过多的同步方法可能造成死锁 * @author Administrator * */public class SynDeath { public static void main(String[] args) { Object m = new原创 2017-10-25 22:33:24 · 832 阅读 · 0 评论 -
封装Response和Request
import java.io.BufferedWriter;import java.io.IOException;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.Socket;import java.util.Date;/** * 封装响应信息 */public class原创 2017-11-17 14:42:13 · 1405 阅读 · 0 评论 -
MySQL的增删查改
插入 *注意:第一种方式可以一次性插入多条记录,但是这种只能一次性插入一条记录。修改 删除查询 *注意:ASC表示升序排列,DESC表示降序,默认为ASC。 *注意:select sex from users group by 1;表示按照select后面出现的第一个列名,然后依次类推 *注意:第一条语句出错是因为,having 后面的那一列的列原创 2018-01-18 22:23:01 · 672 阅读 · 0 评论 -
MySQL之修改数据表操作
关于索引:show indexex from….的相关内容 唯一约束和唯一索引原创 2018-01-17 21:54:05 · 467 阅读 · 0 评论 -
MySQL初解-2
数据类型 上面的Char(M) 指的是定长类型,比如说Char(5),如果你只写了abc,那么后面会自动补零。而VChar则是变长类型,你存储abc,那就是abc。操作数据表 约束条件 下面如果不加AUTO_INCREMENT,那么主键是可以赋值的 还有其他的约束条件借鉴这里原创 2018-01-16 22:11:30 · 292 阅读 · 0 评论 -
MYSQL初解
MySQL基础操作启动MySQL服务语句:net start mysql(注意可以通过我的电脑-管理-服务-寻找MySQL,有的是MySQLXX) 下面是MySQL的一些参数:所以登录为:mysql -uroot -p(密码)——————————–修改提示符—————————– MySQL数据库的操作原创 2018-01-16 21:19:30 · 321 阅读 · 0 评论 -
MySQL的子查询
数据准备 这里是因为是格式不匹配的结果,所以需要变换一下文本显示的格式。但是下面这个只是影响客户端的显示,并不影响其本身的数据格式。详细的可以见这里分析 子查询 下面就是一些修饰子查询:比较运算符 *注意:round(….., 2)表示四舍五入,把前面的数值四舍五入为保留2位小数 *上面是来塞选出商品价格高于平均价格,按照上面表的格式排列,着就是子查询 *原创 2018-01-22 20:55:49 · 344 阅读 · 0 评论 -
JDBC的基本用法-2
一、批处理(Batch)import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/** * 测试批处理,对于大量的批处理,建议使用Statement,因为PreparedS原创 2017-11-23 17:52:10 · 335 阅读 · 0 评论 -
JDBC的用法-1
JDBC的准备工作 import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;/** * 测试跟数据库连接 * @author Administrator * */public class Demo01 { public static void原创 2017-11-23 17:51:12 · 607 阅读 · 0 评论 -
设计模式-工厂模式
二十三种设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。工厂模式是一种创建型模式,见名知意,就是定原创 2017-12-02 22:28:08 · 312 阅读 · 0 评论 -
HTTP初步综述
超文本语言HTML是超文本标记语言,结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。 如下面就是一个明显的例子:<html> <head> <title>第一个表单</title> </head> <body> <pre> meth原创 2017-11-16 21:30:48 · 353 阅读 · 0 评论 -
TCP
TCP的初步创建服务器:ServerSocket:此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。一些方法摘要: ServerSocket(int port) :创建绑定到特定端口的服务器套接字; accept():侦听并接受到此套接字的连接,返回Socket; close():关闭此原创 2017-11-16 20:46:36 · 295 阅读 · 0 评论 -
UDP编程原理
UDPUDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP:主要学两个类:DatagramSocket DatagramPacketDatagramSocket表示用来发送和接收数据报包的套接字,套接字就原创 2017-11-16 15:55:25 · 1090 阅读 · 0 评论 -
URL--统一资源定位符
综述:统一资源定位符(URL)是统一资源标志符的一个下种。统一资源标志符(URI)确定一个资源,而统一资源定位符不但确定一个资源,而且还表示出它在哪里。一般统一资源定位符的开始标志着一个计算机网络所使用的网络协议。 组成:基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名原创 2017-11-16 15:25:10 · 1080 阅读 · 0 评论 -
网络编程的概念和表示地址的类
网络编程的综述网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。 这里有相关模型的参考资料(详解) 网络模型:描述网络的结构原理和工作原理OSI参考模型:七层:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层Internet网络模原创 2017-11-16 15:05:39 · 451 阅读 · 0 评论 -
线程同步的资料参考和之前有些疑问的补充
线程中sleep是不会释放锁,wait()会释放锁,释放锁是指持锁线程退出了synchronized同步方法或代码块,线程中释放锁的方式线程中的wait() 与 锁的关系Java关键字final、static使用总结:static是静态修饰关键字,可以修饰变量和程序块以及类方法:当你定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内原创 2017-10-26 22:38:37 · 258 阅读 · 0 评论 -
手写服务器httpserver_封装分发器和多请求处理
手写服务器httpserver_封装分发器前面所述的分装请求和响应其实都只是对单个请求有效,如果需要对多个请求有效的话,就需要加入多线程。import java.io.IOException;import java.net.ServerSocket;public class MyServer { private ServerSocket server ; private stati原创 2017-11-17 15:45:38 · 592 阅读 · 0 评论 -
容器的扩展-1
Enumeration接口Enumeration接口的作用和Iterator的作用有点相似,实际上就是Iterator取代了它,它有两个方法: hasMoreElements()和nextElement(),作用和Iterator中的hasNext()和next()功能一致。import java.util.Enumeration;import java.util.Vector;public c原创 2017-09-21 17:05:37 · 245 阅读 · 0 评论 -
Queue与Deque队列和自定义堆栈
QueueQueue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了原创 2017-09-21 11:34:12 · 799 阅读 · 0 评论 -
TreeSet和TreeMap
TreeSet对于TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口(注意Collection位于java.lang.Object包),因此,TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较比较器递增排序,即可以通过比较器对用TreeSet类实现的Set集合中的对象进行排序。按照自然顺序排序,java.lang.Compar原创 2017-09-21 10:46:13 · 340 阅读 · 0 评论 -
数组的常见操作
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的数组的拷贝:System类里包含了一个arraycopy方法,该方法可以将src数组里的元素赋给dest数组的元素,打印数组 Arrays.toString(arr) arraycopy(Object src, int srcPos,Object dest, int destPos, in原创 2017-08-29 22:13:00 · 271 阅读 · 0 评论 -
模拟ArrayList(初级)
这里先作为了解容器的起步,模拟一下ArrayList,后面在容器中会有更多的内容package cn.itcast.java.test; /** * 模拟ArrayList * @author Administrator * */ public class MyArrayList { private Object[] value; private in原创 2017-08-29 21:22:48 · 312 阅读 · 0 评论 -
java中String、StringBuilder和StringBuffer初解
String和StringBuilder简要的说, String 类型和 StringBuilder类型的主要性能区别其实在于 String 是不可变的对象,因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,用另一句话说就是String是字符串常量而StringBuilder和StringBuffer是字符串变量,所原创 2017-08-29 21:14:09 · 235 阅读 · 0 评论 -
面向对象的抽象类与接口
一、抽象类如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。比如new Animal(),我们都知道这个是产生一个动物Animal对象,但是这个Animal具体长成什么样子我们并不知道,它没有一个具体动物的概念,所以他就是一个抽象类,需要一个具体的动物,如狗、猫来对它进行特定的描述,我们才知道它长成啥样。在面向对象领域由于抽象的概念在问题领域没有原创 2017-08-28 16:08:14 · 288 阅读 · 0 评论 -
泛型的高级用法
泛型的高级用法包括限制泛型可用类型和使用类型通配符类型通配符通配符:?–>表示类型不确定,用于申明变量或者形参上,只能用在声明类型 、方法参数上,不能用在定义泛型类上,其主要作用是在创建一个泛型类对象时限制这个泛型类的类型实现或继承某个接口或类的子类。public class TestWildcard { public static void main(String[] args) {原创 2017-09-13 11:45:21 · 1897 阅读 · 0 评论 -
泛型
对于泛型的基本概念就不多讲,需要了解泛型的知识点可以看下图: 泛型解决了java中对Object的任意化操作所产生的问题,这种任意化操作就是Object引用进行“向上转型”或者“向下转型”操作,但是某些操作强制类型转换的错误也许不会被编译器捕捉,而在运行的时候出现异常,可见类型转换存在安全隐患,所以在此提供安全省心的泛型类型。泛型的初步了解1、泛型类:class 类名<字母,字母......>原创 2017-09-13 11:10:26 · 456 阅读 · 0 评论 -
异常的处理方法
在java中异常的处理方法有三种分别为:try-catch-finally语句处理、throws抛出异常和throw手动抛出异常try-catch-finally 1、try块:try语句指定了一段代码,该段代码就是一次捕获并处理的范围。在执行过程中,当任意一条语句产生异常时,就会跳过该段中后面的代码。代码中可能会产生并抛出一种或几种类原创 2017-09-05 11:18:05 · 692 阅读 · 0 评论