自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java 的多态

多态性的理解:可以理解为一个事物的多种形态。对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)多态性的使用:虚拟方法调用有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。总结:编译,看左边;运行,看右边。多态性的使用前提:① 类的继承关系② 方法的重写多态性使用的注意点:对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)向上转型:多态向下转型:将父类的引用指向子类的对象后,内存中实际加载的是子类.

2020-12-20 15:06:43 153 1

原创 按顺序执行线程

目录概述使用方法优点:精准的通知和唤醒线程案例:按顺序打印出 A、B、C概述Condition接口提供了类似Object的监视器方法,与Lock配合可以实现等待/通知模式。使用方法Condition定义了等待/通知两种类型的方法,当前线程调用这些方法时,需要提前获取到Condition对象关联的锁。Condition对象是由Lock对象(调用Lock对象的newCondition()方法)创建出来的,换句话说,Condition是依赖Lock对象的。/*** 代码中的* condition.

2020-12-02 16:50:45 124

原创 卖票问题 - 三种解决方法

目录二级目录三级目录案例:卖票出现的问题解决方法:方式一:同步代码块方式二:同步方法方式三:Lock锁二级目录三级目录案例:卖票/** 例子:创建三个窗口卖票,总票数为100张.使用实现Runnable接口的方式 * @author dsstart * @create 2020-11-30 13:28 */public class SellTicket implements Runnable { private int ticket = 100; @Overrid

2020-11-30 18:16:04 1471 5

原创 SSM 框架整合

保证Spring框架在web工程中独立运行第一步:编写 spring 配置文件并导入约束第二步:使用注解配置业务层和持久层第三步:测试 spring 能否独立运行保证 SpringMVC 在 web 工程中独立运行第一步:在 web.xml 中配置核心控制器(DispatcherServlet)第二步:编写 SpringMVC 的配置文件<beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc=

2020-11-08 20:52:36 105

原创 JSON相关使用

JSON与JS对象互转 //编写一个js对象 var user = { name : "小张", age : 18, sex : "男" }; //将js对象转换为字符串 var str = JSON.stringify(user); console.log(str); //将字符串转换为js对象 var

2020-11-08 17:02:08 52

原创 解决Maven依赖导入过慢的问题

找到 Maven 配置文件 Settings.xml找到镜像将以下配置加入alimavencentralaliyun mavenhttp://maven.aliyun.com/nexus/content/repositories/central/

2020-11-07 14:44:21 256

原创 Maven安装、操作

1.解压部署Maven核心程序①检查JAVA_HOME环境变量②解压Maven的核心程序将apache-maven-3.2.2-bin.zip解压到一个非中文无空格的目录下。③配置环境变量 M2_HOME D:\DevInstall\apache-maven-3.2.2 path D:\DevInstall\apache-maven-3.2.2\bin④查看Maven版本信息验证安装是否正确2.修改本地仓库① 默认本地仓库位置:~.m2\repository~表示当前用户的

2020-10-18 15:29:23 63

原创 log4j2

第二步 创建 log4j2.xml 配置文件<?xml version="1.0" encoding="UTF-8"?><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE >ALL --><!--Configuration 后面的 status 用于设置 log4j2 自身内部的信息输出,可以不设置,当设置成 trace 时,可以看到 log4.

2020-10-13 17:29:37 67

原创 AOP简介

面向切面编程(方面),利用 AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。通俗描述:不通过修改源代码方式,在主干功能里面添加新功能...

2020-10-11 15:29:15 292

原创 基于注解方式实现对象创建

第一步 引入依赖第二步 开启组件扫描<!--开启组件扫描 1 如果扫描多个包,多个包使用逗号隔开 2 扫描包上层目录--><context:component-scan base-package="com.atguigu"></context:component-scan>第三步 创建类,在类上面添加创建对象注解//在注解里面 value 属性值可以省略不写,//默认值是类名称,首字母小写(UserService -- userService)@C

2020-10-06 09:32:02 203

原创 IOC容器 Bean管理 - 作用域

Bean的作用域配置文件 bean 标签里面有属性(scope)用于设置单实例还是多实例。scope 属性值:第一个值 默认值,singleton,表示是单实例对象第二个值 prototype,表示是多实例对象singleton 和 prototype 区别:singleton 单实例,prototype 多实例设置 scope 值是 singleton 时候,加载 spring 配置文件时候就会创建单实例对象设置 scope 值是 prototype 时候,不是在加载 spring

2020-10-06 08:12:20 84

原创 IOC 操作 Bean 管理 - 属性注入

这里写目录标题xml 注入其他类型属性1、字面量(固定值)2、注入属性-外部 bean3、注入属性-内部 bean4、注入属性-级联赋值IOC 操作 Bean 管理(xml 注入集合属性)4、在集合里面设置对象类型值5、把集合注入部分提取出来xml 注入其他类型属性1、字面量(固定值)(1)null 值<!--null 值--><property name="address"> <null/></property>(2)属性值包含特殊符号&

2020-10-04 23:19:19 115

原创 IOC(控制反转)底层原理

xml解析、工厂模式、反射<!--xml配置创建的对象--><bean id="dao" class="com.xws.UserDao" />//第二步有 service 类和 dao 类,创建工厂类class UserFactory{ public static Userdao getDao()( string classValue = c1ass属性值;//1、xml解析 Class c1azz = Class.forName(classvalue);//2、通过

2020-10-04 22:20:41 213

原创 Java 对象的内存模型

对象的内存模型声明对象时的内存模型:我们在声明对象变量后,对象的内存还没有任何数据,此时我们称这个对象是一个空对象。空对象不能使用,因为它还没有得到任何“实体”,必须再进行为对象分配变量的操作,即为对象分配实体。为对象分配变量后的内存模型先为成员变量分配内存,然后执行构造方法中的语句。如果成员变量在声明时没有指定初值,所使用的构造方法也没有对成员变量进行初始化操作,那么,对于整型的成员变量,默认初值是0;浮点型,默认初值是0.0;布尔型,默认初值是false;引用型,默认初

2020-10-04 21:46:33 639

原创 Java 内部类和异常类

内部类定义: Java支持在一个类中定义另一个类,这样的类称为内部类,而包含内部类的类称为内部类的外嵌类。内部类和外嵌类的关系:内部类的外嵌类的成员变量在内部类中仍然有效内部类中的方法也可以调用外嵌类中的方法内部类的类体中不可以声明类变量和类方法 static外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员内部类仅供它的外嵌类使用,其他类不可以使用内部类对应的字节码文件的名字格式是 “外嵌类名$内部类名” 。内部类可以被修饰为static内部类,非内部类不可

2020-10-04 21:44:50 480

原创 gradle-6.1.1-all.zip下载

链接:https://pan.baidu.com/s/1BXZw–IycwD2L-TUcD5r3w提取码:sj3c

2020-09-17 22:35:23 2512

原创 线程八锁详解

线程八锁得到的结论:非静态方法的锁默认为 this, 静态方法的锁为 对应的 Class 实例某一个时刻内,只能有一个线程持有锁,无论几个方法。论证过程:1、八锁案例:判断打印的 “one” or “two”两个普通同步方法,两个线程,标准打印, 打印? //one twopublic class TestThread8Monitor { public static void main(String[] args) { Number number1 = new Numbe

2020-07-17 10:13:00 881

原创 ReadWriteLock 读写锁

在解决并发场景中线程安全问题时,通常使用java提供的关键字synchronized或者concurrents包中实现了Lock接口的ReentrantLock。它们都是独占式获取锁,也就是在同一时刻只有一个线程能够获取锁。而在一些业务场景中,大部分只是读数据,写数据很少,如果仅仅是读数据的话并不会影响数据正确性(出现脏读),而如果在这种业务场景下,依然使用独占锁的话,很显然这将是出现性能瓶颈的地方。针对这种读多写少的情况,java还提供了另外一个实现java.util.concurrent.locks..

2020-07-17 09:34:24 121

原创 java.lang.NumberFormatException: null

服务器报错原因为:java.lang.NumberFormatException: null错误原因拿不到url地址的值数据转换出错,如果格式为String则无法转换成numberformat如何解决检查url若url有值,则检查数值类型

2020-07-02 14:15:30 692

原创 Spring MVC 的工作流程

① 用户通过浏览器向服务器发送请求,请求会被 Spring MVC的前端控制器DispatcherServleta所拦截② DispatcherServletf拦截到请求后,会调用HandlerMapping处理器映射器;③ 处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦被器(如果有则生成)一并返回给 DispatcherServlet④ DispatcherServlet会通过返回信息选择合适的 HandlerAdapter处理器适配器)⑤ HandlerAdapter.

2020-06-27 12:35:33 142

原创 java.sql.SQLException: Parameter index out of range 1 number of parameters, which is 0.

如果你出现这个错误:首先,看看是不是 sql 语句出错了。比如说String sql = "select * from t_order where user_id = '?'";再或者说,中英文符号出问题的。再或者说:你的数据库表里的名称没有和你写的代码名称一致。比如说,你的表是这样的:而你的语句是这样的:String sql = "select * from t_order where userId = '?'";...

2020-06-20 23:17:08 205

原创 java.lang.Long cannot be cast to java.lang.Integer

错误提示:java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer原因:Long和Integer直接不能进行类型转换,但是int和long直接可以进行类型转换

2020-06-17 19:25:06 1133

原创 Spring Tools Suite(STS)安装教程 (手动安装版)

1、首先,去查看你的eclipse版本。2、去下载你的对应版本的STS。在下载页面我们只能找到这样的:https://download.springsource.com/release/STS/3.9.12.RELEASE/dist/e4.15/spring-tool-suite-3.9.12.RELEASE-e4.15.0-win32-x86_64.zip但是安装时,你会发现报错!!!解决方法就是需要将其更改为下面的链接(记得找不同):http://download.springsour

2020-06-14 13:03:16 1229

原创 == 和 equals 的区别

1、== 既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值,对于引用类型就是比较内存地址。2、equals的话,它是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是==;我们可以看到String等类的equals方法是被重写过的,而且String类在日常开发中用的比较多,久而久之,形成了equals是比较值的错误观点。3、具体要看自定义类里有没有重写Object的equals方法来判断。4、通常情况下,重写equals方法,会比较类中的相应属性是否都相等。

2020-06-13 22:56:11 872

原创 Spring Tools Suite(STS)安装教程 (eclipse 商店安装版)

1、安装STS工具是有版本要求的,必须匹配上才能正确安装,所以首先确定你的 eclipse 版本。可以在 Help -> about eclipse ide 查看。2、下载对应的版本(下载地址)。比如说:eclipse 4.9.0–>springsource-tool-suite-3.7.3RELEASE-e4.9-updatesite.zip3、...

2020-06-13 13:45:56 382

原创 ResultSet 结果集,非空判断

今天在对 ResultSet 结果集,进行操作时,发生了 Illegal operation on empty result set 错误,所以就想对 ResultSet 进行一下,非空判断。原以为只要 if( ResultSet == null) 就能搞定,但发现无论怎么测试,都会返回 false 的结果。最后,经搜索、查找,总结出以下方法:第一种:当 ResultSet 为非空时,其游标下一个指向第一条记录,若为空则没有下一个,但需要注意的是在调用next()方法后,它就会指向第二条,因此在做完

2020-06-12 15:57:20 1107

空空如也

空空如也

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

TA关注的人

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