自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 问答 (1)
  • 收藏
  • 关注

原创 自定义连接池

定义一个MyConnection类现实Connectionpublic class MyConnection implements Connection{ private LinkedList<Connection> pool; private Connection connection; //被增强的对象 //在MyConnection里面需要得到被增...

2020-01-06 20:56:45 126

原创 DML语法操作表记录-增删改

增加方式一: 插入指定列, 如果没有把这个列进行列出来, 以null进行自动赋值了.格式: insert into 表名(列,列…) values(值,值…);方式二: 插入所有的列,如果哪列不想插入值,则需要赋值为null格式:insert into 表名 values(值,值…);例子:insert into product values(null,‘苹果电脑’,18000.0...

2020-01-06 20:48:57 132

原创 什么是sql?

SQL:Structure Query Language。(结构化查询语言),通过sql操作数据库(操作数据库,操作表,操作数据)SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准各数据库厂商(MySql,oracle,sql server)都支持ISO的SQL标准。各数据库厂商在标准的基础上做了自己的扩展。 ...

2020-01-06 20:41:17 227

原创 动态代理

概述:动态代理它可以直接给某一个目标(被代理 对象)对象(实现了某个或者某些接口)生成一个代理对象,而不需要代理类存在。动态代理与代理模式原理是一样的,只是它没有具体的代理类,直接通过反射生成了一个代理对象。简而言之:动态代理就是直接通过反射生成一个代理对象,代理类是不需要存在的案例:定义一个接口public interface FindWoman { void happy(...

2019-12-11 21:57:57 106

原创 静态代理

概述:静态代理: 代理对象是确定的委托者角色:实现抽象角色,定义委托角色所要实现的业务逻辑,供代理角色调用。代理角色:实现抽象角色,是委托角色的代理,通过委托角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。抽象角色:声明委托角色实现的业务方法。接下来我们以西门案例进行介绍.西门想找金莲happy,但是又不能直接去找(显然不合理,武大郎会跟西门拼命) 所以就找了王婆做中间代理,...

2019-12-11 21:51:57 90

原创 线程池

线程池的思想:我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。今天我们就来...

2019-12-03 21:13:25 131

原创 volatile原子性测试-使用锁机制解决高并发原子性问题

在多线程环境下,volatile关键字可以保证共享数据的可见性,但是并不能保证对数据操作的原子性(在多线程环境下volatile修饰的变量也是线程不安全的)。代码测试:// 定义一个int类型的变量private volatile int count = 0 ;在多线程环境下,要保证数据的安全性,我们还需要使用锁机制。volatile的使用场景开关控制利用可见性特点,控制某一段代...

2019-12-03 21:07:21 176

原创 高并发原子性问题

概述:所谓的原子性是指在一次操作或者多次操作中,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行,多个操作是一个不可以分割的整体。比如:从张三的账户给李四的账户转1000元,这个动作将包含两个基本的操作:从张三的账户扣除1000元,给李四的账户增加1000元。这两个操作必须符合原子性的要求,要么都成功要么都失败。案例演示:测试类:public sta...

2019-12-03 20:58:59 442

原创 JMM内存模型底层原理分析

概述:JMM(Java Memory Model)Java内存模型,是java虚拟机规范中所定义的一种内存模型。Java内存模型(Java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。所有的共享变量都存储于主内存。这里所说的变量指的是实例变量和类变量。不包含局部变量,因为局部变量是线程私有的,...

2019-12-03 20:50:42 222

原创 解决线程安全问题-线程同步

概述:线程同步是为了解决线程安全问题。当我们使用多个线程访问同一资源的时候,且多个线程中对资源有写的操作,就容易出现线程安全问题。要解决上述多线程并发访问一个资源的安全性问题:也就是解决重复票与不存在票问题,Java中提供了同步机制(synchronized)来解决。解决:同步代码块概述: synchronized关键字可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问...

2019-12-03 20:45:47 156

原创 线程安全

概述:如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。我们通过一个案例,演示线程的安全问题:电影院要卖票,我们模拟电影院的卖票过程。假设要播放的电影是 “葫芦娃大战奥特曼”,本次电影的座位共100个(本场电影只能卖100张票)。我们来模拟电影院的售票窗口,实现多个窗口同时卖 “葫芦...

2019-12-03 20:39:01 78

原创 斗地主洗牌发牌案例

public static void main(String[] args) { // 1.造牌: // 1.1 创建一个Map集合,键为记号 Integer,值为牌面值 String Map<Integer, String> pokerBox = new HashMap<>(); // 1.2 定义一个...

2019-11-30 17:12:44 184

原创 可变参数

概述:在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化格式:修饰符 返回值类型 方法名(参数类型… 形参名){ }案例: public static void main(String[] args) { method1(10,20,30,40,50); System.out.println("======...

2019-11-30 17:09:33 107

原创 Math数学工具类

概述: Math类提供了很多关于数学运算的静态方法,例如:求绝对值,向上取整,三角函数,指数等等.特点:1.提供关于数学运算的方法2.Math类中的方法都是静态方法常用成员方法:public static int abs(int a) 获取参数a的绝对值:例如: -10 -->10 10—>10public static double ceil(double a) 向上取...

2019-11-30 17:00:58 260

原创 Map集合以及遍历

概述:map集合称为双列集合。Map集合的特点- 存储元素是以键值对的形式存储- Map集合中的键是唯一的,值是可以重复的- 获取元素:是根据键找值- Map集合中的键如果重复了,就会覆盖 Map<K,V>集合的使用: Map集合的子类介绍: HashMap:存储数据采用的哈希表结构,保证键唯一. ...

2019-11-29 22:16:48 176

原创 LinkedHashSet类

概述:LinkedHashSet: 元素唯一,元素无索引,元素存取有序由哈希表结构保证元素唯一,由链表保证元素存取有序案例:public class Demo1 { public static void main(String[] args) {// 1.创建一个LinkedHashSet集合,指定集合中元素的类型为String类型 LinkedHashSet&l...

2019-11-29 22:01:43 121

原创 java中的可变参数

概述:在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化格式:修饰符 返回值类型 方法名(参数类型… 形参名){ }例如:public class Demo1 { public static void main(String[] args) { method4("abc",10); //调用方法 } /...

2019-11-29 21:58:05 157

转载 IDEA常用快捷键

IntelliJ Idea 常用快捷键:Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 ...

2019-11-26 21:53:14 81

原创 继承

继承:就是子类继承父类的属性和行为,使得子类对象可以直接具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。但需要注意,继承描述的是事物之间的所属关系,这种关系是:is-a 的关系。例如,兔子属于食草动物,食草动物属于动物。可见,父类更通用,子类更具体。我们通过继承,可以使多种事物之间形成一种关系体系。继承格式:public class 子类名 extends 父类...

2019-11-24 16:57:32 105

原创 什么是内部类?

在描述事物时,若一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类Car 中包含发动机类Engine ,这时,Engine就可以使用内部类来描述,定义在成员位置。举例:class Car { //外部类 class Engine { //内部类 }}...

2019-11-23 22:16:21 148

原创 多态访问成员的特点

多态时成员变量的访问特点编译看左边,运行看左边简而言之:多态的情况下,访问的是父类的成员变量多态时成员方法的访问特点非静态方法:编译看左边,运行看右边简而言之:编译的时候去父类中查找方法,运行的时候去子类中查找方法来执行静态方法:编译看左边,运行看左边简而言之:编译的时候去父类中查找方法,运行的时候去父类中查找方法来执行注意:多态的情况下是无法访问子...

2019-11-23 22:13:02 358

原创 形成多态的条件

继承或者实现【二选一】父类引用指向子类对象【格式体现】 Animal anl = new Dog();方法的重写【意义体现:不重写,无意义】

2019-11-23 22:10:56 281 1

原创 接口的讲解

接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。public class 类名.java–...

2019-11-23 22:08:54 150

原创 static关键字总结

概述:static是一个关键字,表示静态的意思,可以用来修饰成员变量,修饰成员方法,修饰代码块static关键字修饰成员变量:格式: static 数据类型 变量名; static 修饰成员变量时,该变量会变成静态成员变量,也叫做类变量。 这个类变量,会被该类的每个对象都共享,也就是说该类变量在内存中只有一份,会被该类的所有对象共享 任何对象都可以更改该类变量的值,但也可以在不创建该类...

2019-11-23 22:06:18 179

原创 static修饰代码块

概述 : 被static修饰的代码块,就叫做静态代码块静态代码块:定义在成员位置,使用static修饰的代码块{ }。位置:类中方法外。执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。public class Student { static { // 静态代码块 System.out.println("静态代码块执行了....

2019-11-23 22:04:45 539

原创 静态方法调用的注意事项:

静态方法可以直接访问类变量和静态方法。静态方法不能直接访问普通成员变量或成员方法。成员方法可以直接访问类变量或静态方法。静态方法中,不能使用this关键字。...

2019-11-23 22:01:14 340

原创 static修饰成员变量

当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。格式:static 数据类型 变量名;public class Student { private String name; private int age; // 类变量,记录学生学习的学校 publi...

2019-11-23 21:57:43 743

原创 如何定义一个类

定义一个类的格式如下: 权限修饰符 class 类名{ //成员变量 //成员方法 //构造方法 } 例如: public class student{ //成员变量 String name; //姓名 int age; //年龄 ...

2019-11-22 21:56:21 4333

空空如也

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

TA关注的人

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