自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 Java中的 单例设计模式、静态类、抽象类 与 模板设计模式 和 接口

一、单例设计模式核心思想: 在程序运行中,该类的对象无论怎么创建,始终保持有且仅有一个该类的对象在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛应用的设计模式。能够避免实例对象的重复创建,减少创建实例的系统开销,节省内存。单例模式和静态类的区别静态类就是一个类里面都是静态方法和静态属性,构造器被private修饰,因此不能被实例化。Math类就是一个静态类1)单例模式...

2018-05-15 22:06:02 667

转载 redis开发规范

一、键值设计1、key名设计/** * 1、可读性和管理性 * 以业务名或数据库名为前缀 防止key冲突,用冒号分割 * 业务名:表名:id live:draw:111 * 2、简洁性 * 保证语义的前提下,控制key的长度 不可忽视内存占用 * user:{uid}:friends:messages:{mid} 简化为 u:{uid}:fr:m:{mid} * 3、不要包含特殊字符 * 返利: 包含空格、换行、单双引号以及其他转义字符 * */2、value设计

2021-09-03 11:15:49 325

原创 foreach与for循环

foreach : 增强for循环,是for循环的一个特殊简化版。for(数据类型 数据名 : 遍历数组(集合或者可进行迭代的)) { 循环语句}foreach虽然是for循环的简化版本,但是并不是说foreach就比for更好用,foreach适用于循环次数未知,或者计算循环次数比较麻烦情况下使用效率更高,但是更为复杂的一些循环还是需要用到for循环效率更高单列集合和...

2019-06-06 11:23:40 511

原创 关系型数据库和非关系型数据库的区别

1.关系型数据库通过外键关联来建立表与表之间的关系,2.非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定       比如 有一个学生的数据:             姓名:张三,性别:男,学号:12345,班级:二年级一班      还有一个班级的数据:            班级:二年级一班,班主任:李四关系型数据库中,我们...

2018-08-22 21:04:38 8128 2

原创 Mybatis创建表关系

一对一的表关系实现一对一映射 这时需要我们在类上设置好对应的对象属性然后在映射文件的resultMap中 通过association标签进行配置配置的方法有两种:一种是通过联表查询 直接将两张表的数据一次都查询出来,然后将副表的字段在association标签内进行映射一种是通过对association标签设置select属性和column属性让要对本条记录进行映射时 ...

2018-07-23 22:25:39 429

原创 SSH框架搭建

1.spring + hibernateORMapplication-data.xml 配置文件1.jar包的引入2.扫描dao, service层   将数据源(连接池)和sessionFactory放入springIOC容器3.将sessionFactory委托给我们的spring进行事务管理<?xml version="1.0" encoding="UTF-8...

2018-07-21 11:08:13 201

原创 Mybatis框架

Mybatis框架Mybatis和Hibernate框架作用相同 都是ORM框架  对象关系映射 操作数据库 (JDBC数据库连接技术返回出来的结果集中 全是数据库字段 需要遍历 将每个字段找到对应类的属性)通过ORM框架 直接找到对应(ying'she)实体类的对象Mybatis 和 Hibernate的区别mybatis框架是半自动的 需要我们自己写sql语句.  它不...

2018-07-20 21:16:12 259

原创 Spring的IOC和AOP基础认识

ORM因为要满足Java对象得到持久化(即保存)的需求。ORM:(Object/Relation Mapping): 对象/关系映射ORM的实现思想:将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转化为对对象的操作。因此ORM的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。1.介绍一下你对aop的理解aop是面向切面编程 aop中主要有几个概念 ...

2018-07-16 13:09:44 247

原创 JavaEE基础知识

1. 请介绍一下你对网站请求执行流程的理解,越详细越好,最好附带图示C/S  client/server   客户端/服务器端B/C  browser/server 浏览器/服务器通过浏览器访问到对应页面,发送请求(同步请求 异步请求 ajax请求 会读接口文档 ) -> 服务器(云服务器: 腾讯云服务器 阿里云服务器等) -> 应用服务器 Tomcat -> 匹配servlet...

2018-07-16 13:06:49 1013

原创 Spring框架四AOP

AOP 面向切面编程搭建环境 需要 9个包 链接: https://pan.baidu.com/s/1M0QQtX0aiYjmFoWayFHoHA 密码: kapc切面  切点save*()  连接点  通知切点pointcut(在xml文件中配置) 可以当成一个类来理解连接点JoinPoint  当成对象前置通知 -> save*() -> 后置通知配置AOP:<aop:con...

2018-07-13 22:18:57 158

原创 Struts2框架与Spring框架初解三

Spring框架读取 properties配置文件<!-- location 让spring去读取配置文件,    能够在当前spring的配置文件中获取使用 --><context:property-placeholder location="classpath:user.properties"></context:property-placeholder&gt...

2018-07-11 22:16:57 317

原创 Ajax和json字符串

Ajax的书写我们用的不是原生的ajax 而是jQ的先有 $.ajax() --- 发请求请求地址 url请求方法 get/post 不写的话 默认getvar obj = {url: " ",success : function(data) { }}$.ajax(obj)在( )里面写一个花括号{ }$.ajax({ // url 表示这个ajax执行时 要发送到的请...

2018-07-10 21:15:35 645

原创 Struts2框架与Spring框架初解二

Struts2框架使用Struts框架的执行过程:发送一个请求 -> 先经过web.xml根文件 -> 有Struts2的核心过滤器-> 到struts.xml -> 找到package -> package下的action -> 找方法-> 先找class -> 找到method -> 根据返回值 匹配result-> 如果result...

2018-07-10 20:55:57 155

原创 Struts2框架与Spring框架初解一

Struts2(现在使用较少 了解能看懂即可)Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts2做了servlet的工作,更加简化管理请求.Struts2的搭建步骤:创建一个Javaweb动态项目1.导入jar包  链接: https://pan.b...

2018-07-09 21:22:32 256

原创 HQL查询 与 多对应的表关系

HQL查询语句注意: HQL语句查询 面向对象的查询方式语句中写的东西 都是表示的实体类 或者实体类的属性查询所有对象                    String hql = "from 映射表的类的类名"...

2018-07-05 22:00:29 493

原创 Hibernate框架第二课

封装一个方法 获取session对象hibernate通过session对象操作数据库,封装成方法方便使用public class HibernateUitl { private static SessionFactory sessionFactory; static { // 读文件 Configuration configuration = new Configuration()....

2018-07-04 21:00:21 150

原创 Hibernate框架第一课

Hibernate的配置1.导入框架(12个包)链接: https://pan.baidu.com/s/1615Kgnk54CySKAL9ZSu1ig 密码: pbud  可以下载需要的jar包hibernate-release-5.2.10.Final/lib/下的文件夹required文件夹下的所有包(10个)jpa-metamodel-generator文件夹下的包(1个)mysql的驱动包...

2018-07-03 20:20:25 202 1

原创 javaweb中的事件监听

Javaweb事件监听HttpServletRequest对象ServletContext对象HttpSession对象监听的是绑定的对象的变化:1.对象的创建与销毁2.域中保存的值得变化注意: 使用监听器 需要在web.xml中配置监听对象的创建和销毁  ServletContextListener  HttpSessionListener  ServletRequestListener  --...

2018-07-02 20:19:48 830

原创 Java的JDBC技术

JDBC技术JDBC技术是Java提供的一套类和接口,是连接数据库的一套规范,每一个数据库产商都需要实现JDBC操作数据库的步骤1. 驱动注册  registerDriver(Driver driver)加载驱动类  Driver是数据库厂商实现的 跟我们没有关系2. 获取数据库的连接对象getConnection(url,user,password)这里相当于 连接上了数据库3. 通过连接对象 ...

2018-06-20 22:59:41 174

原创 SQL数据库基础三 多表查询

表与表之间的关系一对一关系(不常用 可以写成一张表)如果考虑到效率问题  可以对表进行拆分 多对多的关系(利用第三张表来表示关系)并且第三张表作为从表 拥有其他两个主表的外键ensample: 老师表 学生表 中间表 建立多对多的关系CREATE table teacher( tid int primary key, tname varchar(20));create table stud...

2018-06-13 22:09:39 7066

原创 SQL数据库基础二 查询加约束

DQL 数据库查询关键词 select注意: 从数据库查询信息不会改变数据库表中的数据        查询会产生一张新的表(虚拟表)  从原表中查出来的查询表中所有字段内容(* 代表所有字段)select * from 表名;查询表中 A 和 B 字段select A, B from 表名;1.关系运算符 =  !=  <  >  <=  >=  <>不等于2....

2018-06-12 22:01:42 410

原创 SQL数据库基础一

数据库保存数据 保存到一个文件当中 对处理进行持久化使用简单的命令 就可以实现增删改查数据库系统 可以操作数据库的应用程序DDL 数据库定义语句create  alter  dropDML 数据库操作语句insert  update  deleteDQL 数据库查询语句select注意:SQL语句 不区分大小写SQL语句 以;分号结束熟悉安装数据...

2018-06-11 21:52:39 215

原创 同步锁 和 线程死锁

同步代码块(同步锁)处理多线程访问共同数据的问题保证数据只有一份,同一时间只有一个线程可以操作共享数据使用同步代码块(同步锁)(当一个线程操作数据时 其他安县城不能操作 只能等着操作的线程结束后 才能进入操作数据)锁: 任意对象(唯一的 只有一把锁)synchronized(锁

2018-06-05 22:04:07 286

原创 线程的三种创建方式 和 线程的状态

线程进程: 一个正在运行的程序 就是一个进程线程: 一个进程中有很多个线程,每一个线程相当于一个执行的任务开启一个线程,相当于开启了一个CPU的执行路径(相对独立)CPU在执行多个线程时 是随机的 跟线程的优先级有关分时调度---CPU会在对个线程中进行随机切换主线程多线程的程序,出了主线程外,一般都是子线程一个程序只有一个主线程main函数 就是一个线程,并且是主线程主线程的执行过程JVM调用m...

2018-06-04 20:15:58 684

原创 装饰者模式 和 打印流、合并流

装饰者模式思想: 将原有的功能进行提升例: File类 ---> 提升为具有写文件的功能将File类对象传入输出流中(相当于提升了File对象的功能)File file = new file("/UserS/lna/Desktop/test.txt");FileOutputStream fos = new FileOutputStream(file);FileOutputStream --...

2018-06-02 17:14:24 147

原创 IO流的总结、 properties双列集合 与 序列化和反序列化

IO流异常处理JDK1.6前的写法(常用)举例: 处理复制文件时的异常File file = new File("/Users/lanou/Desktop/dp.png");File dest = new File("/Users/lanou/Desktop/lna/ppp.jpg");FileInputStream fis = null;FileOutputStream fos = nul...

2018-06-01 21:55:29 233

原创 字节流 字符流 和 转换流

字节流字节流 又称 万能流 不但可以读写文本,还可以读写图片 音频 视频使用字节流进行 文件的复制需要对异常进行处理  且计算复制时间long start = System.currentTimeMillis(); // 被读文件 File file1 = new File("/Users/lanou/Desktop/lna/抽奖系统案例.pdf"); // 写入文件 File file2...

2018-05-29 22:47:28 851

原创 File类的层级遍历 与 字节流

File类// 创建一个File对象File file = new File("/User/lna/Desktop/a/haha.txt");获取文件长度的方法(获取的是文件的字节数)file.length();  // 返回一个long型数据计算文件夹大小---遍历文件夹里面所有的文件public static long getLen(File file) { long sum = 0;...

2018-05-29 19:42:43 536

原创 异常的分类 和 File类

异常的分类1.运行时异常(打印太执行时才会报错)2.编译时异常(对可能发生异常的代码报错 强制在编译时处理异常)实例:  写一个类  1.抛出运行时异常的方法  2.抛出编译时异常的方法  3.计算圆面积的方法class Test {            // 抛编译时异常     public void fun1() throws Exception {         throw ne...

2018-05-26 15:17:06 404

原创 Java异常处理

HashMap 与 Hashtable 的区别HashMap出现于JDK1.2 是线程不安全的 HashMap可以保存空值nullHashtable出现于JDK1.0 是线程安全的 Hashtable不不能保存空值nullHashMap<String, String> map = new HashMap<>();// HashMap可以保存nullmap.put(nul...

2018-05-24 20:35:32 238

原创 Map 双列集合

单列集合Collection 和 双列集合 Map 都是只能保存对象保存基本数据类型时 基本数据类型会被自动封装成包装类存储Map双列集合的特点:1. 是以 键值对 的形式来保存数据key --- value2. 键的值 唯一 (键不能重复  值可重复)TreeMap : 排序 --- 指的是value这列HashMap : 去重 --- 指的是key这列HashMap添加方法 putpublic...

2018-05-23 22:43:45 226

原创 Set集合 去重和比较方法

Set集合特点: 无序(没有下标)  集合中的元素不重复HashSethashset具有去重功能例:  创建一个hashset 保存 f f a a b b d d  HashSet<String> set = new HashSet<>();set.add("f"); set.add("f");set.add("a");set.add("a");set.add(

2018-05-22 20:43:29 103180

原创 Java的泛型

泛型泛型: 标识着集合中保存的是什么类型的元素优点:1.操作数据更加安全(规范集合中 能保存的数据)2.避免向下转型(强转类型) 的麻烦3.将运行时的错误 转到编译时报错泛型的写法一<泛型(类型)> --- 如: ArrayList<Student>集合的正向遍历与逆向遍历ArrayList<String> list = new ArrayList<&gt...

2018-05-21 21:41:08 123

原创 集合中的方法与迭代遍历器

集合中的方法创建集合Collection c1 = new ArrayList();c1.add("a");c1.add("b");c1.add("cd");c1.add("e");Collection c2 = new ArrayList();c2.add("a");c2.add("b");c2.add("c");c2.add("d");添加方法

2018-05-19 15:08:34 232

原创 Java中的三种操作字符串、包装类和集合初解

三种操作字符串String  StringBuffer  StringBuilderStringBuffer 线程安全的可变字符序列,耗费系统资源(独占资源)StringBuilder 线程不安全,节省系统资源StringBuffer 和 StringBuilder都是可变的字符序列,操作StringBuffer  StringBuilder的方法,一般没有返回值String 线程不安全的 不可变...

2018-05-17 22:05:03 795

原创 Java适配器设计模式 与 String

适配器设计模式1.类适配器令没有关系的类和接口产生联系可以扩展功能 增加已有代码的复用性例: iphone7只有一个充电接口     iphone6有充电接口和3.5mm的耳机插口     iphone7 听音乐时需要转接口连接耳机class Iphohe7 { public void listenMusic(){ System.out.println("直接使用充电接口"...

2018-05-16 21:36:17 257

翻译 this的三种用法 详解

public class ThisTest2 { public static void main(String[] args) { // 测试this表示当前对象的引用 SelfObject aaa = new SelfObject(); aaa.test(); }}/** * 一、使用this引用成员变量 * 在一个类的方法或构造方法内部,可以使用"...

2018-05-12 17:54:00 21119

原创 面向对象的三个基本特征----多态

多态多态: 一种事物的多种状态多态使用的规则:1.类和类之间必须要有继承关系2.要有对方法的重写(否则多态无意义)3.(核心):父类的引用指向子类的对象空间多态的对象创建方式:Animal aCat = new Cat; // 父类的引用(指针)指向子类的对象(空间)aCat.eat();多态时 访问成员变量:父类的引用只能访问子类空间中属于父类的那块空间编译时 需要查看父类中是否有这个属性(成...

2018-05-11 21:18:14 942

原创 Java代码块、继承和重写

一、代码块1.局部代码块书写位置: 在方法中书写局部代码块的作用: 限制变量的作用域2.构造代码块书写位置: 在类中 方法外书写构造代码块的执行顺序:1. 系统调用构造代码块2.只要创建对象 就会调用3.构造代码块 在构造方法之前被调用构造代码块的作用: 有方法需要被每个对象都调用时,将该方法在构造代码块中调用 (不常用)3.静态代码块使用关键字 static 修饰的代码块书写位置: 在类中 方法...

2018-05-10 20:36:29 285

原创 Java中静态变量与静态方法 初解

构造方法注意事项:接https://blog.csdn.net/lijock/article/details/802445811. 当类中没有提供无参的构造方法的时候系统在你创建对象时 会自动调用无参的构造方法这个被调用的无参构造方法是系统本身提供的2. 如果你只提供了有参的构造方法那么系统将不再给你提供无参构造方法建议: 书写类的时候 为了规范化 最好将无参和有参构造方法都写上 class Ca...

2018-05-09 21:05:59 572

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除