- 博客(44)
- 收藏
- 关注
原创 java.util.concurrent常用类总结1
java.util.concurrent常用类总结ExecutorsCountDownLatchExecutors线程池创建类。主要用与创建四种线程池。线程池主要参数核心线程数–corePoolSize最大线程数–maximumPoolSize存活时间–keepAliveTime如果线程大于核心线程,小于最大线程数,当线程空闲时间达到空闲时间,线程会被退出。时间单位–unitTimeUnit.DAYS; //天TimeUnit.HOURS;
2021-09-09 15:28:10
193
原创 设计模式学习--策略模式
策略模式介绍使用场景代码介绍策略模式定义了一系列的算法,并将每一个算法封装起来,使他们可以相互替换。简单来说做一件事有很多方法,每一个方法就是一个策略。根据不同场景不同用户采用不同方法完成。使用场景一个操作有很多方式实现,需要跟据不同的if else选择不同方式时使用。例如从北京到上海,可以坐火车、飞机、开车,同样可以一路狂奔、蹬三轮。代码//策略接口public interface TrafficStrategy { void takeTheRoad();}//具体策略clas
2021-09-05 18:31:34
157
原创 设计模式学习笔记--原型模式
原型模式介绍应用场景代码示例介绍原型模式是描述如何创建对象的模式。顾名思义,先搞一个原型对象出来,然后在这个原型对象的基础上修修补补再弄出一个新对象来。简单来说就是我复制我自己。应用场景创建一个对象需要代价过高或一个对象需要重复创建多次,例如需要查很多库等对象需要进行一定初始化,例如一个对象提供给很多模块使用,某一模块只关心部分属性,但有些属性不能为空的情况。代码示例使用原型模式需要实现clone方法,Object类中存在,示例如下:public class ClonePeople{
2021-09-05 18:10:27
107
原创 设计模式笔记--建造者模式
建造者模式建造者模式介绍使用场景使用建造者模式建造者模式就时将对象的创建和对象的属性分开。也可以算又套了一层。介绍将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。(大多数都看不懂,使用场景和方式见下方。)使用场景一个对象有多个属性(一般大于四个),创建时需要填写一些必选项和一些可选项。使用Java使用由两种方式,如果使用Lombok插件的话
2021-09-05 17:28:02
121
原创 Spring Boot常用三种自动注入方式
Spring Boot自动注入@Autowired注解@Resource注解构造参数注入@Autowired注解@Autowired注解是Spring提供,只按照byType进行注入。@Autowired如果想要按照byName方式需要加@Qualifier,Qualifier意思是合格者,一般跟Autowired配合使用,需要指定一个bean的名称,通过bean名称就能找到需要装配的bean。//定义一个服务,添加@Service交给Spring Boot管理@Servicepublic cla
2021-09-02 20:10:06
8578
原创 设计模式笔记--单例模式
单例模式单例模式介绍实现方式懒汉式饿汉式单例模式介绍单例模式:保证一个类仅有一个实例,并且有一个全局唯一的访问点。简单来说就是不允许创建对象,即将构造方法设置为私有,然后提供一个公共获取方法。实现方式懒汉式懒汉式顾名思义就是比较懒,在类加载时就创建好,需要的时候直接拿。代码如下:class Singleton(){ private static Singletop instance = new Singleton(); private Singleton(){ } public Si
2021-08-30 09:16:54
118
原创 设计模式学习笔记--工厂设计模式
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-29 21:27:08
110
原创 hibernate框架(2)--增删改查
hibernate实现增删改查步骤如下: 1.创建Configuration并调用configure方法 2.创建sessionFactory对象 3.创建session对象 4.开启事务 5.增删改查等操作 6.提交事务 7.关闭session、sessionFactoryprivate static Configuration cfg = null; /* ...
2018-07-26 11:40:01
248
原创 hibernate框架(1)
框架概念:帮我们实现程序中一部分功能,能让我们少写很多代码 hibernate(冬眠)框架: 1.应用于Dao层 2.使用hibernate实现增删改查操作其底层为jdbc,它对jdbc进行封装,不需要写jdbc和sql语句 3.开源、轻量级(不需要依赖其它,jar包较少)的框架 4.orm思想:对象关系映射 实体类与数据表进行一一对应 ...
2018-07-26 10:55:29
242
原创 Java---File
File可以是一个文件,也可以是一个文件夹,File可以是一个存储的文件,也可以是一个不存在的。public void fileTest2(){ //路径分隔符 String separator = File.separator; //路径为自己电脑上的文件路径 File nfile = new File("D:"+separat...
2018-06-08 21:47:33
314
原创 输入输出流(IO流)
流:流(stream)的概念源于 UNIX 中管道(pipe)的概念,在 UNIX 中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 重要: **1.流操作结束后必须关闭。 2.InputStream、Reader、OutputStream、Write全是抽象,不能直接实例化** 每一个都有很多子类,在此不列举了。 输入流—》只能读,不能写====...
2018-06-08 21:18:49
315
原创 try ……catch和throw的区别
Try…catch…finally与直接throw的区别:try catch是直接处理,处理完成之后程序继续往下执行,throw则是将异常抛给它的上一级处理,程序便不往下执行了。public class ZeroTest { public static void main(String[] args) { try{ int i = 100 / 0; ...
2018-06-05 11:46:52
5206
原创 static变量以及++
public class Test{ private static int i=1; public int getNext(){ return i++; } public static void main(String [] args){ Test test=new Test(); Test testObj...
2018-06-05 11:13:15
422
原创 final以及类型转换
1、final关键字可以用于成员变量、本地变量、方法以及类。 2、 final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。 3、 你不能够对final变量再次赋值。 4、 本地变量必须在声明时赋值。 5、 在匿名类中所有用到的变量都必须是final变量。 6、 final方法不能被重写。 7、 final类不能被继承。 8、 没有在声明时...
2018-06-05 11:05:56
614
原创 异常处理过程
public class TestDemo { public static String output =""; public static void foo(int i){ try{ if(i == 1){ throw new Exception(); } ...
2018-06-05 10:31:58
337
原创 Java简单命令
java用来运行一个.class文件 javadoc用来生成api文档 jar用来生成jar包 javac用来把.java文件编译为.class文件 注:Java运行是第一个即Java
2018-06-01 19:32:49
313
原创 Java的鲁棒性(Robust)即健壮性
鲁棒性即异常和危险情况下系统生存的关键。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。 1.Java能在编译和运行时检测错误 2.Java自己操纵内存,减少内存出错的可能性 3.Java实现真数组,避免了数据被覆盖的可能性。 真数组:数组元素在内存中是一个接着一个线性存放的,通过第一个元素就能访问随后的元素。 4.Java又异常...
2018-06-01 19:30:45
1599
原创 过滤器(Filter)----是否登陆判断、监听器(Listener)----在线人数判断
Java项目有三大组件:servlet(服务连接器)、filter(过滤器)、listener(监听器) 本篇博客主要介绍过滤器以及监听器。过滤器过滤器顾名思义就是将来自用户界面的某些不合理请求过滤或进行其他处理。 例如:内部网络没有登陆想要直接访问时将其跳转至登陆界面。@WebFilter("/*")//范围为全界面过滤public class TestFIlter impl...
2018-06-01 19:02:50
727
原创 log4j使用简介
日志日志记录了程序运行的时间、使用者、操作、运行情况等等。它可以帮助我们更好的调试程序,完成我们的代码调试。log4j由apache公司开源的一个开源项目。它可以控制日志的输入地点、输出级别、输出信息、输出格式等等…… 更加方便的是只需要更改一个配置文件log4j.properties(名字不能改) maven工程放入src/main/resources中。同时引入log4j ....
2018-05-31 19:52:33
172
原创 内部类创建方法
1.内部类也有四种访问权限,同其他属性,作用权限为同一个类、同一个包、父子类和任何位置. 声明非静态内部类对象的方法: 外部类名.内部类名 对象名=new 外部类名().new 内部类名(); 即先有对象再创建 2.声明静态内部类对象的方法: 外部类名.内部类名 对象名=new 外部类.内部类名(); 如果想去掉外部类名,则需要引包public class ...
2018-05-28 10:02:39
583
原创 结构模式
结构模式是描述如何将类对象结合在一起,形成一个更大的结构,结构模式描写两类,即类和类的实例,所以分为类结构模式和对象结构模式。 链接:https://www.nowcoder.com/questionTerminal/8118573affd743df95045267464089ab 来源:牛客网 1.适配器模式 Adapter 适配器模式是将一个类的接口转换成客户希望的另外一个接口。适...
2018-05-28 09:52:28
951
原创 子类父类
子类不可以继承父类的构造方法,只可以调用父类的构造方法。 子类中所有的构造函数都会默认访问父类中的空参数构造函数,这是因为子类的构造函数内第一行都有默认的super()语句。super()表示子类在初始化时调用父类的空参数的构造函数来完成初始化。一个类都会有默认的空参数的构造函数,若指定了带参构造函数,那么默认的空参数的构造函数,就不存在了。这时如果子类的构造函数有默认的super()语句,那么...
2018-05-27 21:36:57
309
原创 Web service
Web service顾名思义是基于web的服务,它是一种跨平台,跨语言的服务。 我们可以这样理解它,比如说我们可以调用互联网上查询天气信息的web服务,把它嵌入到我们的B/S程序中,当用户从我们的网点看到天气信息时,会认为我们为他提供很多的服务,但其实我们什么也没做,只是简单的调用了一下服务器上的一端代码而已。Web service 可以将你的服务发布到互联网上让别人去调用,也可以调用别...
2018-05-27 21:32:43
188
原创 eclipse新建workspace配置
配置jdkjava环境变量配置:更改坏境变量如下 window——->preferences——–>java————>Installed JREs 如下图:会有一个默认的,如不能使用删掉重新配置,要保证Java路径以及eclipse配置安装正确。 配置tomcatwindow——>preferences——–>Server———>Runti...
2018-05-26 10:26:53
698
原创 Web工程代码简化
通过上篇博客的反射机制将代码简化,即获取一个类,通过其内部方法名、变量名,通过命名机制将其一 一对应。从jsp到servlet代码简化1.例:/*通过提交一个handler将所要写的servlet简化,jsp提交至原servlet,调用继承自父类的doPost,doGet等方法判断所需要调用的真正方法。*/public void doPost(HttpServletReques...
2018-05-25 22:20:02
300
原创 Java反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 总结:反射就是将一个Java类中各个成分变成一个一个的对象,这体现了Java中一切皆对象。 一、Class类获取类的方法(常用) (1)、Object.getClass()方法,即ob...
2018-05-23 16:22:43
272
原创 重载和重写
重写: 1.重写发生在子类和父类之间,即子类将父类中的方法重新写了一遍 2.函数名与参数等完全相同 3.返回的类型必须一直与被重写的方法的返回类型相同 4.访问修饰符的限制一定要大于被重写方法的访问修饰符 5.重写方法一定不能抛出新的检查异常或者比被重写方法申明 更加宽泛的检查型异常 6.方法被定义为final不能被重写。 ...
2018-03-16 13:45:01
172
转载 java语言几种数组复制方法比较
来自http://blog.csdn.net/tingzhiyi/article/details/52344845java语言的几种数组复制方法中,哪个效率最高? 效率:System.arraycopy > clone > Arrays.copyOf > for循环 1.System.arraycopy:public static void arraycopy(Ob...
2018-03-16 13:29:22
304
原创 值传递和引用传递
对于值传递,拷贝的值用完之后就会被释放,对原值没有任何影响。 对于引用传递,拷贝的是对象的引用,和原值指向的同一块地址,即操作的是同一个对象,所以操作之间会相互影响。public class Test { String str = "string"; static String str0 = new String("new string"); int num = 1...
2018-03-16 12:53:10
196
原创 抽象类和接口
public abstract class Test { public Test(){ System.out.println("抽象类构造函数"); }}/*抽象类中可以有构造方法,并会被子类调用,如果子类也有构造方法则先调用抽象类后调用子类 */ abstract void test0(); /*1.抽象类中可以存在抽象方法。 2...
2018-03-16 12:13:52
317
转载 静态变量
引用自http://www.cnblogs.com/DreamDrive/ public class test { static{ staticTest = 2; } static int staticTest = 1; public static void main (String []args){ System.ou...
2018-03-16 11:34:57
194
原创 Java命令
1.Javac-d指定class存放目录 2.对于java命令,类名后面跟着的就是main函数的参数,多个参数则用空格隔开。 main方法的形参是一个string数组所以对于java mytest a b c传入的参数算是一个string数组。即args[0]=a args[1]=b args[2]=c 注:以后遇到会陆续添加...
2018-03-16 11:22:10
230
原创 HttpServlet容器响应Web客户请求流程
1)Web客户向Servlet容器发出Http请求; 2)Servlet容器解析Web客户的Http请求; 3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息; 4)Servlet容器创建一个HttpResponse对象; 5)Servlet容器调用HttpServlet的service方法,这个方法中会根据request的Method来判断...
2018-03-16 11:18:56
556
原创 做笔试题遇到总结Statement和PreparedStatement
1、PreparedStatement接口继承Statement,PreparedStatement实例包含已编译的SQL语句,所以其执行速度快于Statement对象。 2、PreparedStatement是Statement的子类,同样继承Statement所有功能。 三种方法:execute、executeQuery、executeUpdate在PreparedStatemen...
2018-03-14 08:25:37
585
原创 Mysql数据库
Mysql数据库1.数据库基本操作1)、创建数据库create database dbname;2) 、创建数据表create table table_name (column_name1coulumn_type1,column_name2 coulumn_type2,....)例如: create table stuinfo( stu_no va...
2018-03-12 21:39:19
215
原创 简单的学生管理系统
系统入口以及主要处理package com.zzxtit.java09.stusys2;import java.util.Scanner;public class Main { /** * * 1、抽象数据对象 stu * 2、将学生信息存储到数组当中, 数组属于固定长度; * 3、如果删除数组中间的学生信息怎么办? * * 将
2017-12-16 20:50:42
16309
1
原创 Java API常用类及方法总结
Math类Math类位于java.lang包中,可以直接使用,无需引入。 常量: Math.PI:原周长与直径之比π Math.E:自然对数的基值e 常用方法: abs(x)————-x的绝对值 ceil(x)————-x四舍五入 floor(x)————x向下取整 top(X)————-x向上取整 exp(x)————-e^x m
2017-11-30 21:27:37
2115
原创 Java三大要素
java三大要素:继承、封装、多态继承每个类只能继承一个类,object默认为所有类的父类 关键字: 1.extends:表示继承,用法为extends 2.super:表示当前类的父类,用super()表示调用父类的构造方法 3.this:表示当前类的对象,还可以使用this()表示调用当前类的构造方法 4.fanil:被fanil修饰的
2017-11-25 09:13:22
5110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人