
java高级
文章平均质量分 79
Æ_华韵流风
/生/在/国/旗/下/,/长/在/春/风/里/,一/天/三/顿/饱/,/顿/顿/吃/得/好/
展开
-
十次方学习——RabbitMQ(7)
RabbitMQ一、directpom 里添加依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.原创 2021-12-07 11:12:30 · 216 阅读 · 0 评论 -
JavaWeb——数据库连接池(5)
一、数据库连接池通过 java 程序操作数据库,必须首先要得到与数据库的连接对象,java 程序与数据库是两个进程,为了能够对数据库中的数据进行各种操作,两者之间首先要建立通讯连接(两端都要维护一个 Socket 套接字),另外要通过套接字向对方发送请求和数据,因此这种操作很耗资源,对两边来讲都是负担,因此连接对象的数量越少越好,尽量少的创建连接对象,在一个项目中要经常对数据库进行操作,如果每次都建立连接就会造成资源消耗越来越大,为了解决以上问题,出现了数据库连接池。什么是数据库连接池?j原创 2021-06-06 09:23:23 · 391 阅读 · 1 评论 -
java 实现简单的端口扫描程序
实现思路:使用Socket类的connect(SocketAddress endpoint, int timeout) 方法,测试连接是否超时。使用多线程加快扫描速度。package com.zhong.exam7;import java.net.InetSocketAddress;import java.net.Socket;import java.net.SocketAddress;import java.util.concurrent.ExecutorService;import jav原创 2021-03-19 16:45:35 · 354 阅读 · 0 评论 -
high-level——桥接模式,模板模式及使用 jdbc 连接数据库的通用方法(19)
一、桥接模式(bridge)属于结构型模式。在抽象化和实现化之间实现脱耦。抽象化就是把对象的实现采用抽象类的方式,实现化把对象的实现采用接口。脱耦就是让抽象化体系与实现化体系不要耦合在一起。对象功能的扩展一般都使用继承,在有些情况下会造成子类数量增长的非常快,也就是为了扩展类的功能,可能会写很多类。把抽象类的体系剥离出来,让实现类去实现接口,让抽象类去组合实现类。package com.zhong.test_11;public interface TypePC { void s原创 2021-03-04 16:32:17 · 216 阅读 · 2 评论 -
学生信息管理系统——java,mysql,swing……
一、基本需求软件主要是记录班级同学们的学习信息。记录信息有:学号,姓名,性别,年龄,出生地,专业,班级,总学分。软件主要由两类人使用,一类是班委,一类是普通同学。他们的使用权限是不同的。软件通过登录来识别班委与普通同学。班委可以对同学们的信息进行显示,查询,添加,修改,删除操作。可以显示用户信息,可以修改用户密码。普通学生只可以对同学们的信息进行显示,查询操作。软件要操作简单,界面友好。二、软件功能分析普通学生用例分析班委用例分析登录分析注册及忘记密码显原创 2021-03-02 20:36:05 · 312 阅读 · 0 评论 -
high-level——部分数据库知识总结(18)
一、数据库的作用就是数据的仓库,主要作用就是用来存放关系型数据,另外还必须有数据的管理,安全控制,事务机制等方面的一些功能。数据库中的数据存放在磁盘中,属于持久化的数据。二、数据库的结构数据库就是磁盘上的一份文件,数据库管理系统是能够对数据进行操作与管理的程序,客户端软件提供了基本界面能够访问,操作和管理数据库。三、学习数据库的目的和目标在应用开发中,能够写了正确的命令对数据库中的数据进行增删改查等方面的操作。四、如何开始使用 mysql 数据库在安装好数据库管理系统和客户端后,原创 2021-03-01 19:27:03 · 356 阅读 · 0 评论 -
high-level——语法糖、流式编程和方法引用(17)
一、语法糖字符串连接的例子“abc” + “123” + “31553我w#!!!”// jad -p SugarDemo//The class file version is 52.0 (only 45.3, 46.0 and 47.0 are supported)// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.// Jad home page: http://kpdus.tripod.com/jad.h原创 2021-02-22 11:46:45 · 268 阅读 · 0 评论 -
high-level——建造者模式(16)
一、建造者模式属于创建型模式,builder。建造者模式主要用于在创建复杂对象时的一种模式。复杂对象场景之一:线程池对象。如下构造方法,参数的类型比较复杂,相互搭配使用可以创建不同种类的线程池。public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,原创 2021-02-20 11:54:50 · 178 阅读 · 0 评论 -
high-level——策略模式(15)
一、策略模式行为型模式,用 Strategy 表达。在程序的执行过程中,动态的决定使用什么操作。这种设计模式就是策略模式,它是23种模式中使用最多的模式之一。程序的设计者在设计时并不知道程序执行后会具体的采用哪种操作,因此,对于需要执行的操作在设计时是抽象的,只有在运行时才能把抽象的规定进行具体化。此种模式要求把每一个具体的操作用一个类来表示,程序执行中,需要哪个操作就去使用哪个类。它可以替换掉 if else 语句复杂的逻辑。package com.zhong.test_9;imp原创 2021-02-19 11:57:12 · 334 阅读 · 0 评论 -
high-level——享元模式(14)
回顾:装饰器模式,Decoration,结构型单例模式,Singleton,创建型工厂模式,Factory,创建型一、享元模式如果有个应用程序中,使用了很多个对象,此时内存可能不足,发生OOM的Error。但是通过分析,多个对象可以根据某个特征进行分组,比如有一万个对象,有共同的颜色属性,分属十种颜色,那么可以把一万个对象按颜色分成十组,从每个组中取出一个对象,用这一个对象去表示一千个对象,只需要10个对象就可以表示原来的一万个对象。享元模式的应用场景:字符串常量池,只要是通过原创 2021-02-18 18:15:01 · 175 阅读 · 0 评论 -
high-level——注解和枚举(13)
一、注解它是 jdk1.5 的新特性,它应用在类、接口及枚举等方面,它的作用就是打标记,它不能执行。jdk 的基础注解Deprecated 表示类的成员已过时,不建议使用。SuppressWarnings 让编译器不要输出警告信息。Override用于注解的注解,元注解Target 它规定被修饰的注解可以使用在类的哪种成员上,比如类上,方法上,字段上等。Retention 它规定被修饰的注解在哪个阶段起作用,比如源代码编写阶段,编译阶段,运行时阶段。注解的来源来原创 2021-02-16 16:17:59 · 202 阅读 · 0 评论 -
high-level——网络编程(12)
网络编程一、通信两个节点实现相互间的数据传输。线程间的通信,比较简单,是指同一进程中的不同线程,线程间共享内存空间,且由同一jvm来进行管理。java线程间的通讯有三种方式,其中之一就是通过流来实现通讯。package com.zhong.test_7;import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream;public class PipeTes原创 2021-02-16 16:17:52 · 235 阅读 · 0 评论 -
high-level——单例模式和工厂模式(11)
一、单例模式java设计模式分为三大类,创建型,结构型,行为型装饰器属于结构型单例模式属于创建型单例模式要求某个类的实例在整个应用中只能有一个,实例只能由本类来创建,实例在多线程情况下必须是线程安全的。在应用中,如果需要某个类的实例只能有一个,比如整个应用都要对同一 个文件进行读写,多个线程要操作同一个变量,多个线程要使用同一个连接对象来操作数据库。spring 中的 Bean 默认都是单例的。单例可以节约资源,一是对象的创建只有一 次,节省内存,节省创建和销毁的时原创 2021-02-16 16:17:44 · 1227 阅读 · 6 评论 -
high-level——File类(10)
一、File 类IO体系的基石:五类一接口,File 类就是五类之一。File 用来表示文件或目录,一个 File 对象可以用来表示一个文件或一个目录。构造方法File(String pathname) pathname 是文件或目录的路径四个路径分隔符如果不确定程序在哪种系统上执行,可以用 File.separatorChar 来表示分隔符得到的方法(getXXX)System.out.println("绝对路径:" + file.getAbsolutePath原创 2021-02-16 16:17:36 · 198 阅读 · 0 评论 -
high-level——线程状态、并发包(9)
一、jdk中的线程安全与不安全的类型StringBuffer 与 StringBuilder ,前者的大多数方法都带有同步关键字,后面的方法不带有同步关键字。前者是线程安全,执行效率低于后者的线程不安全。ArrayList 是线程不安全的,Vector 是线程安全的。HashMap 是非线程安全的;HashTable是线程安全的;ConcurrentHashMap<K,V>:支持检索的完全并发性和更新的高预期并发性(不保证绝对安全)的哈希表。volatile 关键字,用来修饰成员变量,原创 2021-02-15 19:26:56 · 323 阅读 · 5 评论 -
high-level——线程安全(8)
一、java 定时器Class Timer 是定时器类,它可以按照指定的时间开始执行一份任务;还可以让任务以规定的时间间隔循环执行。在 java 的应用中,凡是需要按照时间的规律来执行调度的任务,基本上都与 Timer 类有关系,都用到了它。package com.zhong.test_4;import java.util.Timer;import java.util.TimerTask;public class TimerDemo { private void ini原创 2021-02-15 19:26:38 · 175 阅读 · 0 评论 -
high-level——线程基本概念(7)
线程一、与线程相关的一些基本概念CPU ,中央处理器,它是计算机的核心,它具有运算和处理功能;它含有计算单元,寄存器,时钟。CPU经历了单核到多核的一种发展过程,单核处理数据是串行的,一 个结束才进行下一个。多核有多个运算单元,相当于有多个CPU ,处理能力比单核要强。处理数据时可以并行操作,多个任务同时进行,此时并发的问题就出现了,但是每个cpu也存在串行执行。并发的概念是指在某个时间段有多个任务在同时进行.时间段比较短。并行的概念是指在某个时刻有多个任务在进行,并行针对多核原创 2021-02-15 19:26:31 · 233 阅读 · 0 评论 -
high-level——异常和异常处理(6)
异常和异常处理一、什么是异常(错误及异常)异常就是程序执行过程中所出现的非正常的情况,也可以称为例外,在java程序中如果出现了异常并且该异常也没有被处理,此时程序会中断执行,也就是从异常发生的位置后面的代码将不再执行,虚拟机也会退出。程序中如果出现了异常,会在控制台输出异常的类型及相关信息。二、java中异常类型的继承体系Class Throwable,它是所有错误及异类的超类。错误:它也是影响程序正常执行的问题,但不是语法错误,出现之后我们的程序没有办法进行正常的处理。大多和硬件有关,原创 2021-02-15 19:26:24 · 334 阅读 · 0 评论 -
high-level——Map(5)
package com.zhong.test_2;import java.util.HashMap;import java.util.Map;import java.util.Set;public class MapDemo {public static void main(String[] args) {Map<String,String> map = new HashMap<>();//添加map.put(“k1”,“v1”);map.put(“k2”,“v2”原创 2021-02-15 19:26:10 · 116 阅读 · 0 评论 -
high-level——List和Set(4)
一、了解一下数据结构java中的集合,不同种类的集合内部元素的存储和组织方式是不一样的,集合元素采用什么方式进行存储往往决定了该集合具有什么样的特征,比如有的集合查询快,有的集合增删快,以及集合元素是否能够重复等。所谓的数据结构就是数据如何存储,数据之间的关系,数据的表现形式,以及在特定的存储类型之上所提供的特定的算法。二、了解常用的数据结构三、List集合凡是实现了List接口的集合都称为List集合。实现List接口的集合的基本特征:属于列表元素带有索引,可以根据索引来操作元素原创 2021-02-15 19:26:03 · 171 阅读 · 0 评论 -
high-level——集合框架(3)
一、什么是集合java中的集合是一个容器,可以存放多个元素。二、什么是集合框架在java中,所有的集合都实现了各种接口,每个集合都对应具体的类,不同的集合因为实现的接口不同,而具有不同的特征及行为。因此,统一的把集合需要实现的接口的结构及层级,具体的集合类型的各种方法,称为集合框架。三、Collection接口它是集合框架中的根接口,它具有一些基本的操作集合的方法,这些方法是我们使用集合过程中要使用的基础方法。它有两个重要的子接口,一个是List,另一个是Set,这些子接口就会拥有Col原创 2021-02-15 19:25:57 · 299 阅读 · 0 评论 -
high-level——System类和StringBuilder类(2)
System类system表示系统,因此它包含的一些成员变量与方法和当前jvm及应用程序的执行环境有关。利用该类可以得到与当前执行环境相关的一些参数。System中声明了一个私有的无参的构造方法,我们不能去创建它的对象。字段:static InputStream in “标准”输入流,表示通过键盘的按键向程序中输入字符的通道。static PrintStream out “标准”输出流,表示通过控制台输出内容的通道。static PrintStream err “标准“错误输出流,也是针对控制台原创 2021-02-15 19:25:42 · 153 阅读 · 0 评论 -
high-level——Object类和Date类(1)
Object类它是所有类的基类(超,父),它在java类的层次体系中具有最基础的地位。它含有12个公共的方法,在任何类的对象上都可以调用(或重写)这些方法,因此掌握该类的重点方法是我们了解所有类的基本特征的必须途径。如果一个类没有继承其他的类,它一定继承了Object类。如果一个类的声明中没有 extends ,则表示它一定继承Object。Object类没有包含成员变量,也没有静态方法,只有一个无参的构造方法。Class getClass(),返回此Object的运行时类,运行时类就是被加载到方原创 2021-02-15 19:25:34 · 185 阅读 · 0 评论