Java
文章平均质量分 50
qq_840675460
这个作者很懒,什么都没留下…
展开
-
UDP--两人聊天
/**** @author dch**///UDP实现两人聊天public class Sender { public static void main(String[] args) { //初始化发送和接收数据报数据包的套接字 DatagramSocket ds = null; try { System.out.println("同学甲开始聊天:"); ...原创 2019-04-12 08:38:28 · 214 阅读 · 0 评论 -
线程--同步和安全
线程的同步与安全:在很多情况下,我们都会遇到线程的安全与同步问题,例如下面网上售票的系统:如果不对不加线程锁的话,会出现不同的窗口买出重票,而现实生活中例如(1-100)每个票就一张总共100张,不可能重复.这里有线程安全同步的三个方法:1.同步代码块: Object obj = new Object();synchronized (obj) {}这里我自己要明白为啥这样写,首先o...原创 2019-04-01 19:38:57 · 551 阅读 · 0 评论 -
网络通信--TCP
要实现的功能:完成一个文件服务器,要求服务端能够共享一个本地目录,目录中包含一些纯文件(不包含子目录),客户端连接服务器之后可以在客户端显示目录中的文件列表(每个文件都有一个编号),当客户端输入一个文件编号后,可以将文件列表中的某个文件下载到客户端(无需手动在客户端指定文件名)。思维过程:服务端:2.从磁盘里面读出文件;3.发送文件名列表到socket对象里面;6.从socket对象中...原创 2019-04-10 17:53:11 · 134 阅读 · 0 评论 -
反射
java反射:官方理解:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改其本身状态或行为的一种能力。在Java环境中,反射机制允许程序在执行时获取某个类自身的定义信息,例如熟悉和方法等也可以实现动态创建类的对象、变更属性的内容或执行特定的方法的功能。从而使Java具有动态语言的特性,增强了程序的灵活性和可移植性自己的理解:为了正向运行而反向操作本身的操作....原创 2019-04-05 16:32:16 · 114 阅读 · 0 评论 -
线程--状态和方法
线程的几个状态切换图:创建状态:new一个线程对象就绪状态:创建状态调用start的时候,就是就绪状态,随时可以进入运行状态运行状态:到达就绪状态状态后,各个线程抢占资源,然后进入到运行状态阻塞状态:从运行状态到达阻塞状态一般分为:(不能直接从阻塞状态直接到运行状态)1.thread.wait(),就是进入到阻塞状态,用thread.notify()需要手动唤醒从阻塞状态到就绪状态,2...原创 2019-03-31 16:53:49 · 393 阅读 · 0 评论 -
线程
一、多线程概念1.进程:在服务器上每一个独立运行的应用程序(例如 播放音乐,写文档,聊QQ),在同一时间点,CPU只能为一个进程分配资源,只有获取cup资源的进程才可以执行,其他进程处于抢占CPU资源的状态2.线程: 在一个进程中,执行某个任务的子程序,一个进程可以包含多个线程3.多线程:在某个应用程序中,创建的独立子程序当它所属的进程已抢到资源,该进程会将资源分配给某一个线程(原则上,多...原创 2019-03-31 16:18:44 · 149 阅读 · 0 评论 -
集合--总结
1、HashMap与HashTable的区别?回答 1、 HashTable是线程安全的map ,HashMap线程不安全2、HashMap是 Map的实现类 , HashTable是Dictionary的子类3、HashMap的key 、value 可以存储null 对象 HashTable 不可以共同特点: 他们都实现了Map接口及API ,他们存储存结构都是 key-v...原创 2019-04-04 14:27:03 · 124 阅读 · 0 评论 -
集合--Map
HashMap:1.存储键值对(key,value),2.允许null值和null键3.key值不可以重复Map可以看做3部分:1.key是一个集合2.value是一个集合3.key和value是一个集合.一些代码:/***@author dch*///HashMappublic class TestHashMap {public static void main(S...原创 2019-04-04 14:23:13 · 128 阅读 · 0 评论 -
流-字符流
输入字符流,这里面还用到了缓冲流,缓冲流就是为了加快读和写/***@author dch*///输入字符流public class TestReader {public static void main(String[] args) throws Exception { Reader reader = new FileReader("d://测试文件夹/aa/aa.txt...原创 2019-03-31 16:05:01 · 160 阅读 · 0 评论 -
线程--简单银行问题(面向对象)
首先银行存取钱问题(这里是对一个账户的操作)第一个是一个bank也就是一个银行类:主要就写了一个money的属性,对于方法,就是存钱和取钱第二个就是bank的实现类因为用到了线程:所以叫 BankThread类:这里用了随机数来判断进来时到底是存钱(a=0)还是取钱(a=1或2),因为这里存钱当一个线程运行时,其它线程也要运行,就会存在一点的安全性问题:因此涉及到线程的安全与同步具体的写法...原创 2019-04-01 20:05:45 · 246 阅读 · 0 评论 -
URL
URLurl(统一资源定位符),通过URL可以从互联网中找到位于Http服务器中的相关资源.URL构成http协议://主机地址:端口号/资源地址?查询信息http://www.softeem.com:80/index?name=XXX&pwd=XXX一些关于URL的方法:public class UrlDemo { public static void main(Str...原创 2019-04-12 08:16:46 · 142 阅读 · 0 评论 -
spring的简单介绍
springSpring是由Rod Johnson 组织和开发的一个分层的Java SE/EE full-stack(一站式)轻量级开源框架,它以IOC(Inversion of Control ,控制反转)和AOP(Aspect Oriendted Programming,面向切面编程)为内核。 Spring致力于Java EE应用各层的解决方案,在表现层它提供了Spring MVC 以及...原创 2019-07-02 19:48:42 · 439 阅读 · 0 评论 -
SQL语句-3
三,DQL(数据查询)语句3.1 查询语法SELECT <列名|表达式|函数|常量>FROM <表名>[where <查询条件表达式>][order by <排序的列名>[ASC或DESC]];[LIMIT [位置偏移量,]行数];**注意:语法中 <>中的内容是必须的,[]中的内...原创 2019-05-31 15:52:32 · 467 阅读 · 0 评论 -
SQL语句-2
2.8 DDL(数据定义)语句2.8.1 创建和删除数据库 1.创建数据库~~~mysql# 格式: create database 数据库名# 比如创建名为wzry的数据库create database wzry; # 注意:因为创建数据库时一次只创建一个,所以用的是单数 database# 创建数据库时同时设置数据库的编码# 格式:create database ...原创 2019-05-31 15:46:05 · 211 阅读 · 0 评论 -
SQL语句-1
一,学习目标1.进行复杂度较高的数据交换业务处理**2.灵活的操作数据库中的数据**3.掌握数据库设计技能**二,初识MySQL2.1 本章任务1.使用SQL语句创建数据库myschool2.使用SQL语句创建学生表student3.使用SQL语句创建科目表subject4.使用SQL语句创建成绩表result5.使用SQL语句创建/删除年级表grade数据...原创 2019-05-31 15:42:11 · 347 阅读 · 0 评论 -
集合--Set
集合Set下面有:HashSet TreeSethashSet:1.集合内的元素顺序不确定,不是按照输入顺序来的2.不允许添加重复元素.添加重复元素将会覆盖之前的元素3,线程不同步,不安全.TreeSet:1.TreeSet集合元素内部会进行排序2.线程不同步,...原创 2019-04-03 16:22:30 · 128 阅读 · 0 评论 -
集合--List
集合List 下面 有 ArrayList LinkedList VectorArrayList:基于数组结构的一段连续空间 ,添加,删除效率低,查询效率高.1.允许存放重复的元素2.也可以存放null值3.ArrayList实例都有一个默认的容量 (10)4.ArrayList集合的长度自动增长(增长是当前长度的一半)5.ArrayList是线程不安全的6.ArrayLi...原创 2019-04-03 15:38:32 · 166 阅读 · 0 评论 -
集合
集合可分为两部分:一部分为:Collection集合一部分为:Map集合集合和数组:集合和数组都能用来存放数据,集合和数组的区别在于:集合的大小不受限制,而数组大小时限制的,对于数组来说,存放都是同一类型的数据,而集合有时可能存放不同的数据类型.根据下面的图示:我们常用的1.Collection 下面有List 和 Set1).List 下面用的是ArrayList Lin...原创 2019-04-03 14:56:19 · 227 阅读 · 0 评论 -
网络通信--UDP和TCP
UDP:/***@author dch*///Udp客户端public class UdpKHD {public static void main(String[] args) throws Exception { //创建一个能发送的对象 DatagramSocket ds = new DatagramSocket(); //定义发送的话 String strin...原创 2019-04-03 08:34:52 · 251 阅读 · 0 评论 -
流-压缩流
压缩流:首先肯定是要读一个文件,然后给它压缩,程序步骤要清楚,/****这里做的是压缩的单个文件@author dch*///压缩文件public class TestZip {/* 压缩文件 * 将一个或者多个文件通过,放入到另一个XXX.zip的文件中(复制) * 过程: 先指定文件,获取一个输入流,在写到zip (ZipOutputStream) * ...原创 2019-03-30 17:18:49 · 278 阅读 · 0 评论 -
流-数据流
DataInputStreamDataOutputStream数据流:我自己要明白data是用来操作数据的,也就是java的8大基本数据类型.一些代码实现:输入流/***@author dch*///字节数据流public class TestDataInputStream {public static void main(String[] args) throws E...原创 2019-03-30 15:54:38 · 190 阅读 · 0 评论 -
设计模式--模板模式
自己的理解:模板模式的任务不在是创建而是规定了做某件事的规则或者说步骤./***@author dch*///定义人的抽象类public abstract class Person {//抽象类里面可以有抽象方法//也可以有普通方法//当继承抽象类时,抽象方法都实现//因此模板模式通过抽象方法定义一套规则public void gotoSchool(){ //1....原创 2019-03-17 14:02:25 · 155 阅读 · 0 评论 -
设计模式--抽象工厂模式
抽象工厂模式是在工厂模式之上又细化了一点,记得模式工厂中我是car接口然后实现car接口的方法:这里我将car细分为SuvCar和MiniCar;接着我便一步一步给自己回顾:定义SuvCar和MiniCar接口:/***@author dch*///定义一个SuvCar的接口public interface SuvCar {//定义一个抽象方法public void ...原创 2019-03-17 11:46:18 · 156 阅读 · 0 评论 -
java面向对象实现两人猜拳游戏
Player类package com.dch.day10;public class Player {/** * @author DCH */private String name;private int score;/* * 无参构造器 * */public Player(){ }/* * * 有参构造器 * */public Player(Str...原创 2019-03-12 16:20:15 · 1183 阅读 · 0 评论 -
设计模式--工厂模式
这里直接上代码,然后给自己解释一下.首先定义一个汽车的接口:/***@author dch*///定义一个汽车接口public interface Car {//定义一个汽车生产的方法(抽象方法)(因为这里是接口,都是抽象方法)public void showInfo();}定义宝马汽车类(BMCar)和奥迪汽车类(ADCar)去实现接口/**@author ...原创 2019-03-17 10:46:21 · 154 阅读 · 0 评论 -
类与类的关系
1.继承关系定义:A类是一种B类的时,例如学生是一类人,学生类继承人类;猫是一种动物,猫类继承动物类。为什么要用继承:1.子类可以拥有父类的(非私有)特征(属性),(非私有)行为(方法);2.子类也可以定义自己的属性和方法.2.关联关系定义:类与类之间存在关联,在一个类中定义另外一个类。3.依赖关系定义 :一个类的创建必须要依赖另外一个类。4.聚合关系定义:...原创 2019-03-12 11:08:19 · 261 阅读 · 0 评论 -
java面向对象-抽象
基本特征:一.抽象 :将现实生活中事物通过程序定义出类的过程, 忽略与问题无关的方面,关注与问题相关的方面,抽象出事物的特征称为属性,抽象出事物的行为称为方法。例如对于一个对象 电脑,所以定义一个 类 Computer,我们想关心电脑的方面称之为属性,例如电脑的价格price ,电脑的品牌brand,电脑的类型 type等2.构造器:类的基本组成部分之一,它是一个特殊的方法 ...原创 2019-03-12 10:23:45 · 203 阅读 · 0 评论 -
设计模式--简单工厂模式
简单工厂模式:普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.多个工厂方法模式:是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象.首先定义一个接口:/**@author DCH*/public interface Work {//提供服务public...原创 2019-03-14 18:00:20 · 179 阅读 · 0 评论 -
设计模式-单例模式
单例模式:只创建一个对象/**@author DCH单例模式:只创建一个对象1.将构造器私有化2.提供一个静态方法3.提供一个静态类的属性*///懒汉式,需要对象的时候才创建.public class Student {private String name;private int age;//定义一个变量存储对象static Student stu=n...原创 2019-03-14 17:20:17 · 154 阅读 · 0 评论 -
设计模式-基本原则
设计模式:一套优秀的可复用,高可用性的设计代码的经验;java提供了23种设计模式,为了让项目的代码可读性,可扩展性更好,提供的优秀的代码解决方案.按照设计模式功能键划分创建型模式 五个 : 工厂方法模式(Factory Method),抽象工厂模式(abstract factory),单例模式(Singleton),原型模式(Prototype),建造者模式 (build) ...原创 2019-03-14 14:11:42 · 815 阅读 · 0 评论 -
回调函数
自己对回调函数的理解:首先顶一个回调函数的接口:/***@author dch*///定义一个回调函数的接口public interface ICallback {//定义一个方法public void service();}/***@author dch*///定义一个类来实现回调接口public class Method1 implements I...原创 2019-03-17 14:18:20 · 153 阅读 · 0 评论 -
内部类
内部类:在一个类中定义另一个类的类结构,内部类是属于聚合管理(包含关系),内部类的存在必须依赖外部类的对象或类名.作用:主要是因为不希望该类作为大家共同使用访问的类;只供本类使用,从而达到外部类更好的管理内部类.分为:成员内部类原创 2019-03-17 15:53:21 · 199 阅读 · 0 评论 -
流-对象流
对象流:很明显就是操作对象的,一般特征就是会有一个对象类例如 Student PeopleObjectInputStreamObjectOutputStream一点小解释:因为我们不可能一条一条信息的读,因此把student对象放到了集合arraylist里面下面例如代码:一个Student学生类:/***@author dch*///定义一个学生对象类public ...原创 2019-03-30 15:49:31 · 174 阅读 · 0 评论 -
流-复制文件
所谓的复制文件:也就是从一个文件里面读,然后在写入到另外一个文件当中.一些代码如下:/***@author dch*///复制文件 先读后写public class TestCopy {public static void main(String[] args) throws Exception { //copy1(); //copy2();}public...原创 2019-03-30 15:11:21 · 122 阅读 · 0 评论 -
流-字节输出流
字节输出流: OutputStream自己的理解:首先先明确就是通过内存(电脑控制台)写入到文件当中,这样对于内存(电脑控制台)来说就是输出了.public class TestOutputStream {public static void main(String[] args) throws Exception { // OutputStream 字节输出流 抽象类 ...原创 2019-03-30 15:04:07 · 163 阅读 · 0 评论 -
流-字节输入流
字节输入流:自己的理解:使用inputStream,输入流:也就是要从文件里面读出内容到内存(电脑控制台),也就是说对于内存(电脑控制台)来说就是输入.下面的代码的说明的内容:首先是一个字节一个字节的读取:1.创建了多个对象来接收;2.通过循环,来循环读;3.读指定长度 byte [] b = new byte[5] (字节数组).一些代码说明:public class TestI...原创 2019-03-30 12:50:30 · 152 阅读 · 0 评论 -
流
IO流 我想把文件里面内容读到内存(电脑控制台)In,Read,也就是输入流. 自己的理解:我想通过内存(电脑控制台)写进文件里面用Out,Writer,也就是输出流; 流的分类: 按照方向分: 输入流和输出流 按数据处理大小分: 字节流和字符流 按照功能不同,节点流(普通流)和处理流(包装流) ...原创 2019-03-30 10:57:14 · 382 阅读 · 0 评论 -
file文件类2
public class TestFile2 {public static void main(String[] args) throws IOException { // 相对路径 默认是当前项目的路径 File file = new File("abc.txt"); // file.createNewFile(); System.out.println(file.ge...原创 2019-03-30 10:50:33 · 204 阅读 · 0 评论 -
file文件类
一些文件的类的方法:首先是文件的创建: 1.创建文件 2.创建目录 3.创建目录和文件文件的长度:file.length();判断是不是文件:file.isFile();判断是不是目录:file.isDirectory()创建新文件:file.createNewFile();删除文件或者目录:file.delete();得到绝对路径:file.getAbsolutePath(); ...原创 2019-03-30 10:29:08 · 179 阅读 · 0 评论 -
异常
一.异常:1. 定义: 在程序运行过程中发生的异常事件,会终止程序的执行,影响正常运行.2. 异常处理/异常捕获: 为了不影响程序的正常运行,需要对程序实现try {}catch(){}操作3. 异常的步骤: 抛出异常–捕获异常–处理异常4. 异常的关键字:Try:将可能发生的异常使用它,不能单独写catch: 捕获异常,不能单独写,必须和try一起使用 ,可以写多个catch ,...原创 2019-03-18 15:17:15 · 232 阅读 · 0 评论