- 博客(78)
- 收藏
- 关注
原创 23种设计模式的简单描述
(1)抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相关依赖对象的接口,而无须指定它们具体的类。(2)建造者模式(Builder):将一个复杂对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表述。(3)工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法使一个类的实例化延迟到其子类。...
2019-08-08 09:29:51
323
原创 UML图简单了解
UML(Unified Modeling Language,统一建模语言)建模是面向对象开发设计方法中的第一步,用UML来表达设计模式不仅方便了开发人员的交流,而且更加清晰、准确。1.1 UML建模简介Uml图定义了五类十种模型图。 类型 模型图 目的 用例图 用例图 描述用户需求,即用户需要系统...
2019-07-06 08:40:03
1187
原创 Spring--AOP自动代理
Spring AOP的自动创建代理可分为三种:BeanNameAutoProxyCreator 根据Bean名称创建代理DefaultAdvisorAutoProxyCreator 根据Advisor本身包含信息创建代理AnnotationAwareAspectJAutoProxyCreator基于Bean中的AspectJ注解进行自动代理1、BeanNameAutoPro...
2019-05-26 20:48:25
656
原创 Spring--AOP(面向切面编程)
spring AOPAOP(Aspect Oriented Programming)面向切面编程采用横向抽取机制,取代了传统纵向继承体系重复性代码Spring AOP使用纯java实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类织入增强代码AOP相关术语Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring...
2019-05-25 15:15:19
197
原创 Spring--属性注入
Bean的属性注入1、构造方法注入通过构造方法注入Bean的属性值或宜兰的对象,它保证了Bean实例在实例化后就可以使用。构造器注入在元素里声明的属性public class Person { private String name; private int age; public Person(String name, int age) { t...
2019-05-25 10:59:23
292
原创 Spring--Bean的生命周期
演示代码定义一个Man类public class Man implements BeanNameAware, ApplicationContextAware, InitializingBean, DisposableBean { private String name; public String getName() { return name; ...
2019-05-25 10:58:56
212
原创 Spring--优秀的框架第一步
什么是Spring?Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。简述:1、方便解耦,简化开发Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理...
2019-05-25 10:57:51
191
原创 MySQL数据库--基础语句及存储引擎简单了解
数据库基础语句1、语句以\g或者;结束 2、查看help 或 \h 或者 ? 加相关语句查看帮助手册3、\c可以取消当前命令的执行4、SHOW WORNINGS;查看警告信息5、注释:# 或者 –sql语句语法规范常用MySQL的关键字需要大写库名、表名、字段名称等使用小写库名、表名、字段名称不要使用关键字,如果必须要使用,则需要反引号(``)将其括起来常用sql语句s...
2019-05-21 19:21:46
283
原创 数据库连接--c3p0连接mysql数据库
法一@Test public void demo1(){ Connection conn = null; PreparedStatement pre = null; ResultSet rs = null; try { //创建连接池 ComboPooledDataSour...
2019-05-21 15:20:28
559
原创 MyBatis--使用mapper代理方法开发dao
mybatis开发dao方法第二种:使用mapper代理方法使用mapper代理方法开发dao程序员只需要写mapper接口(相当于dao接口))pom.xml加载mysql、mybatis、junit驱动 <dependency> <groupId>mysql</groupId> <artifactId>mys...
2019-05-13 14:41:42
709
原创 MyBatis--使用原始方法开发dao
mybatis开发dao方法有两种:1、mapper代理方法(程序员只需要写mapper接口(相当于dao接口))2、原始dao开发方法(程序员需要写dao接口和dao实现类)先从原始入手,介绍原始dao开发方法使用原始方法开发daopom.xml加载mysql、mybatis、junit驱动 <dependency> <groupId>mys...
2019-05-12 21:16:21
747
原创 Java基础--多线程之文件复制显示复制进度
使用多线程实现多个文件同步复制功能,并在控制台显示复制的进度,进度以百分比表示。例如:把文件A复制到E盘某文件夹下,在控制台上显示“XXX文件已复制10%”,“XXX文件已复制20%”……“XXX文件已复制100%”,“XXX复制完成!”import java.io.*;import java.text.DecimalFormat;public class ThreadWork3 { ...
2019-05-07 09:22:24
1258
1
原创 Java基础篇--多线程之设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。考虑线程的安全性
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。考虑到线程的安全性写出程序。public class ThreadWork4 { private int j; //通过synchronized关键字控制线程同步,即加锁 private synchronized void increaceJ(){//做加一操作 j++; ...
2019-05-06 20:43:54
1268
原创 Java基础篇--多线程之第一个线程用来计算2~100000之间的素数的个数,第二个线程用来计算100000~200000之间的素数的个数
多线程操作:编写一个有两个线程的程序,第一个线程用来计算2~100000之间的素数的个数,第二个线程用来计算100000~200000之间的素数的个数,最后输出结果。1、判断是否为素数的方法:是返回true,不是返回falsestatic Boolean isPrimeNumber(long num) {//判断是否为素数 //判断一个数是否为素数 ...
2019-05-06 19:41:39
4548
2
原创 Java--输出对象默认调用toString方法
先来观察观察下面这个小例子package com.string;public class ToStringTest { static int i = 1; public static void main(String args[]){ System.out.println("love " + new ToStringTest()); ToStr...
2019-05-05 15:41:50
4272
4
原创 springboot--入门程序实现CRUD操作
使用springboot实现CRUD操作新建一个项目,选择spring initializr项目Thymeleaf热部署,选不选都OK,这里还用不到。创建完成。application.properties配置文件#数据源配置spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasourc...
2019-05-02 11:30:57
8385
2
原创 MyBatis--入门程序
MyBatis是一个支持普通sql查询、存储过程和高级映射的优秀持久层框架。MyBatis去掉了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解进行配置和原始映射,以将接口和java的POJO(Plain Old java Objects,普通的java对象)映射成数据库中的记录。MyBatis作为持久层框架,其主要思想是将程序中的大量SQL...
2019-04-29 21:13:14
174
1
原创 idea配置tomcat热部署
idea配置tomcat热部署在应用运行的时候升级软件,无需重新启动的方式有两种,热部署和热加载。java热部署与热加载这里只介绍idea配置tomcat热部署首先需要在idea配置tomcat服务器配置之前首先要有tomcat点击run里Edit configurations选择服务器,浏览器推荐使用chrome在以上步骤完成后On ‘Update’ action和On f...
2019-04-29 20:25:14
30698
8
原创 Java基础篇--多线程
进程与线程:进程是指正在执行的程序,负责该程序的内存空间分配,代表了内存中的执行区域。在传统的操作系统中,进程是资源分配和调度的基本单位。进程可以看作一连串执行的指令,而一个线程就是指令的一个执行路径。一个进程可以包含多个线程,同一进程中的多个线程共享相同的内存空间。进程与线程的最大区别在于:进程占有资源,而线程不占有资源。可以将线程理解为轻量级的进程。同一进程中的多个县城护具共享意味着变量...
2019-04-29 20:24:05
160
原创 卸载oracle数据库
1.关闭oracle所有的服务。Window7用户可以在windows的任务管理器–>服务内关闭以oracle开头的所有服务;xp用户可以在我的电脑右击–>管理–>服务和应用程序–>服务,找到所有以oracle开头的服务,右击,关闭。2、打开注册表:Win+R输入regedit打开路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr...
2019-04-27 11:45:18
189
原创 jdbc连接mysql出现问题解决
jdbc连接mysql出现的问题汇总:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loadi...
2019-04-23 23:01:50
566
原创 数据库主键id自增
数据库主键id递增如果使用工具的话在设计表时为主键id勾选上自增选项mysqlmysql:create table users(id int auto_increment primary key not null,name varchar(10)); sql serversql server:create table users(id int identity(1,1) prim...
2019-04-23 18:23:49
33978
1
原创 Java基础篇--设计模式之单例、简单工厂、代理模式
设计模式设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。(就是前人总结的套路)使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类...
2019-04-19 20:58:35
294
原创 Java基础篇--jdbc
java数据库操作在jdbc之前,各个厂家只通过自己的API访问数据库,给开发人员访问不同数据库造成了很大困难,如果需要更换数据库,则需要修改大量代码。JDBC(Java DataBase Connectivity),它提供一套统一的javaAPI,为各个数据库厂商提供了标准接口的实现。使用jdbc链接数据库流程如下加载数据库驱动建立数据库连接创建并执行sql语句对象(例如State...
2019-04-19 18:59:38
242
1
原创 Java基础篇--lambda表达式
lambda表达式是java SE 8 的重要新功能,主要用于简化只需要实现一个抽象方法的内部类书写,表达式一般形式:参数->lambda体lambda表达式有以下三种形式:1、方法式主体为一个表达式(参数列表)->表达式2、方法主体为一行执行代码(参数列表)->单行代码3、方法主体为一个代码块(参数列表)->{代码块}下面给出了三种未使用和使用过l...
2019-04-18 15:32:14
316
原创 Java基础篇-注解笔记
注解元数据(Metadata)的意思是“数据的数据”,作用是提供数据本身的信息。注解就是代码的元数据,是描述代码的代码。注解和注释是两个完全不同的概念,注释会被编译器忽略,而编译器会检查注解的错误。例如,@Override重写注解的方法如果在父类中并不存在,编译则无法通过。**注解的分类:**1、 按照运行机制分:源码注解:注解只在源码中存在,编译成.class文件就不存在了;编译时...
2019-04-17 19:42:40
107
原创 Java基础篇--反射笔记
Java的反射机制应用广泛,例如很多框架的原理就是反射。AVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。例如在Spring框架中的IOC(控制反转)的原理就是反射。反射机制提供以下运行时功能:1、判断对象所属的类2、创建一个类的对象...
2019-04-17 13:02:54
220
原创 Java基础篇--List集合简介
集合:是一种工具类,是对象的容器,可以用于存储数量不等的多个对象的对象,代替数组。所有的集合接口和相关的实现类都在java.util包中Conllection:元素是对象ObjectList:元素按顺序存储(下表)元素可以重复(每一届世界杯冠军得主)Set:元素无顺序,元素内容不可重复(哪一个国家拿过世界杯)Conllection:常用方法:add(object)把元素添加到集合...
2019-04-14 17:08:29
230
原创 Java基础篇--List排序
List排序Collections.sort(List):要求集合中的元素实现Comparable接口Collections.sort(List,Comparator):Comparator比较器,实现排序逻辑,集合中的元素不需要实现comparable接口 List.sort(Comparator):直接对List调用sort方法排序,只能传入Comparator(来自JDK 8)Co...
2019-04-14 16:21:43
208
原创 Java基础篇--List集合遍历
list遍历1、通过下标遍历2、迭代器遍历 Collection 可以通过迭代器,删除集合中的元素3、for-each Collocation JDK54、forEach()方法 需要实现java.util.function.Consumer接口这里列举了几种方法,希望能够帮助到您import java.sql.SQLOutput;import java.util.ArrayList...
2019-04-14 10:28:38
754
原创 Java基础篇--文件拷贝
文件拷贝使用Io操作进行文件拷贝想要更好的体验,我们需要找到一个.mp4文件作为目标文件这里一共有六种实现方法,大家可以试一试,看看哪一个更快。package com.io1;import java.io.*;import java.nio.ByteBuffer;import java.nio.MappedByteBuffer;import java.nio.channels.F...
2019-04-12 21:17:15
138
原创 Java基础篇--IO流简介
IO流输入/输出时指应用程序与外围设备及其他计算机进行数据交换的操作,如读/写硬盘数据、向显示器输入数据、通过网络读取其他节点的数据等。简单而言:流就是内存与存储设备之间传输数据的通道、管道。以三种不同的分类方式分类如下:按方向(以JVM虚拟机为参照物)输入流:将<存储设备>中的内容读入到<内存>中输出流:将<内存>中的内容读入到<存储设备>...
2019-04-12 21:06:00
163
原创 Java基础篇--异常学习笔记
异常是指在程序执行过程中发生的非正常事件,这些事件的发生将中断程序的正常运行。Java用面向对象的方法处理异常,将处理异常的代码和正常的程序代码分开,使程序维护起来更加方便,也增强了程序的安全性和健壮性。异常处理涉及两大基本问题:一是如何表示异常情况的问题;二是如何控制处理异常流程的问题。java中定义了很多异常类,每个异常类都代表了一类运行错误,类中包含了该运行错误的信息和处理错误的方法等...
2019-04-12 09:08:43
162
1
原创 js入门篇--动态时钟2
动态时钟2之前写过一个动态时钟,可以更好地帮助大家梳理思路。这个是简单快速实现过程。<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>动态时间</title> </head> <body> <div id=...
2019-04-10 21:08:58
171
原创 js入门篇--全选案例
<body> <input type="checkbox" "selOfNot(this)">全选/全不选 <div style="margin:10px;"> <input type="checkbox" name="hobby">篮球 <input type="chec...
2019-04-10 20:36:06
340
原创 Java基础篇--工具类操作之当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几
编写程序,(Scanner)当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几实现方法不唯一,此方法仅作初学者(自己)参考。。。。。所用类:Calendar、GregorianCalendar、SimpleDateFormat实现代码:package com.date1;import java.text.ParseException;import ja...
2019-04-10 12:42:13
3293
原创 Java基础篇--工具类操作之设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。
编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。实现方法不唯一,此方法仅作初学者(自己)参考。。。。。所用类API介绍:所用方法介绍:实现代码:package com.string;import java.util.Scanner;import java.util.SplittableRandom;public clas...
2019-04-10 11:17:25
3595
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人