自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java基础-泛型

概述集合中的泛型集合中存在什么样的安全隐患集合默认可以存储任意类型的对象。当在存储String的集合中,存储一个Integer类型,调用String类型的特有方法就会报错,导致程序崩溃。集合中泛型的使用创建集合使用泛型指定集合只能存放的数据类型。遍历集合时不需要进行类型转换。泛型的好处(优点)增强了集合安全性,把运行时的错误转为编译时错误。省去了类型强转的麻烦。注意事项在泛型中没有多态的概念,要不左右两边的数据类型要保持一致,要不只写一边。推荐两边都写一样的。泛型不准

2021-06-28 00:26:58 89

原创 java基础-迭代器

什么是迭代器是一个用来遍历集合的对象。如何获得迭代器对象Iterator iterator()Iterator的常用方法boolean hasNext()判断当前指针指向的位置是否有元素如果有,则返回true,否则返回falseE next()返回当前指针指向位置的元素,并将指针下移指向下一个元素。迭代器的好处屏蔽了众多集合的内部实现,对外提供了统一的遍历方式。可以遍历所有单列的集合。迭代过程通过hasNext()方法判断当前指针指向的位置是否有元素如

2021-06-27 23:55:20 92 1

原创 java基础-常用的Api

文章目录Date类概述Data类的构造方法Date类的成员方法毫秒数时间零点DateFormat类概述使用方式常用构造方法常用方法日期对象转字符串步骤字符串转日期对象步骤注意事项日期模式Calendar类概述构造方法常用方法注意事项Math类System类基本数据类包自动装箱和自动拆箱正则表达式记录一些java基础的Api,后期不断更新!Date类概述时间日期类Data类的构造方法Date():创建时间对象,代表当前系统时间Date(long date):根据制定的毫秒值创建日期对象。

2021-06-27 23:01:21 134

原创 java基础-异常

异常概述什么时异常java程序在编译或者运行中出现的问题异常的继承体系Throwable:java语言中所有错误或者异常的超类Error:错误Exception:异常异常分类运行时异常编译时异常异常和错误的区别异常java程序在编译或者运行时的问题异常一般都是JVM产生的可以针对异常进行处理,处理完不影响代码的继续进行,如过不及时处理程序直接退出错误java程序编译时出现的问题错误往往都是由系统产生,由系统反馈给JVM致命性问题,一旦出现,没有具体的处理方法,只能

2021-06-27 19:57:43 139

原创 java基础-equals和toString方法

文章目录equals概述重写的目的toString概述调用时机重写的目的打印一维或多维数组equals概述默认方法:比较对象在内存中的地址值是否相同重写的目的因为对象比较地址值没有任何意义,一般是判断对象是否同一个对象是通多比较对两个对象成员变量来判断,如果两个对象成员变量值都相同,则认为是同一个对象toString概述默认返回值:类全名@类在内存中的地址值调用时机直接调用:直接通过对象名调用toString()间接调用:打印输出该对象时,系统会自动调用该对象的toString方法重

2021-06-26 10:52:18 149

原创 java基础-权限修饰符

概述在Java中,提供了四种访问权限控制分别是:default(默认)、public(公开)、private(私有)、protected(受保护)区别访问控制权限(√代表可以访问)privatedefaultprotectedpublic同一类√√√√同一包内的类√√√子类√√其它包内的类√修饰类的方法和变量default:如果一个类的方法或变量被包访问权限修饰,也就意味着只能在同一个包中的其他类中显示地调用

2021-06-26 10:52:06 49

原创 java基础-关键字(final)

概述:final是一个修饰符用法:修饰基本数据类型变量:变量就成为常量,该常量的值就不允许改变修饰引用数据类型变量:该引用变量不能再指向其他对象修饰方法:该方法不能被重写修饰类:该类不能被继承注意事项:final修饰引用类型的变量,指其所引用的对象不能改变,该变量引用的地址不能改变,对象成员变量是可以改变的...

2021-06-25 16:25:02 53

原创 java基础-关键字(static)

概述stiatic是静态修饰符,一般用来修饰方法,变量和代码块被staitic修饰的,属于类不在属于某个对象,可以被该类的所有对象共享// 类加载的时候会自动执行, 而且只会执行一次。static { System.out, println("静态代码快");}变量的分类静态变量或者类变量:被static修饰的变量被static修饰的方法内存中只有一份,只会分配一次内存在类的加载的时候完成静态变量初始化静态方法可以直接通过类名被调用(推荐)静态方法可以通过类的对象调用(不推荐

2021-06-25 16:11:49 80

原创 java基础-包

概述包就是文件夹包在文件系统中是以文件夹的形式存在的作用把功能相似的或者相关或接口组织在用一个文件夹中,方便类的查找和使用com.itheima.logincom.itheima.register减少类的命名冲突定义格式使用公司域名反写,多级包全部小写,用“.”链接比如:itheima.com ==> com.itheima.loginpackage 包名1.包名2...注意事项定义包的语言必须是类中的第一行有效语句使用方式直接访问:当使用在类java.

2021-06-25 15:55:22 44

原创 java基础-内部类

文章目录概述成员内部类概述定义格式访问格式使用场景注意事项局部内部类概述定义格式访问格式注意事项代码说明匿名内部类概念定义格式代码说明常见问题概述内部类即在类中定义另一个类内部类的class文件的命名时:外部类$内部类.class内部类可以直接访问外部类的所有成员成员内部类概述定义在成员位置定义格式public class 外部类{ class 内部类{ }}访问格式间接访问:在外部类提供一个方法创建成员内部类的对象并调用方法,在其他类创建外部类的对象,调用内部类的

2021-06-25 15:40:59 35

原创 java基础-多态

概述多态是封装,继承之后,面向对象的三大特征同一种事物表现出来的多种形态。前提必须是有子类关系或者实现接口必须要有方法重写必须父类指向子类须知当父类引用变量指向子类对象时,调用方法会调用子类重写的方法定义格式父类类名 变量名 = new 子类类名例如:Animal a=new Dog();使用场景作为形式参数,接受更多的同种类型的类public static void feedAnimal(Animal a) { a.sleep(); a.eat();}作为返回值,

2021-06-25 15:06:07 42

原创 java基础-接口

概念接口是功能的集合,是比抽象类更抽象的”类“是用来描述功能,可以看作是一种基本数据类型接口是描述功能所应该具备的方法,并没有具体实现,具体的实现由接口的实现类来完成的定义格式权限修饰符 interface 接口名{ //功能;}使用格式class 类名 inplements 接口名{ //重写接口的方法}特点不能有构造函数,不能创建对象接口的方法在JDK1.8之前都是抽象方法,在JDK1.8之后接口中的方法可以有默认实现。接口的实现类可以不重写有默认实现的方法。接口

2021-06-25 14:56:39 36

原创 java基础-抽象

抽象方法概念被abstract修饰的,只有方法体声明的方法抽象方法格式修饰符 abstract 返回值类型 方法名(参数列表);抽象类的概念被abstract修饰的类具有抽象方法的类就是抽象方法作用用来描述一种类型具备的基本类型特征和功能格式修饰符 abstract class 类名{}特点抽象类不能直接被创建对象抽象类必须被abstract修饰子类必须重写抽象类的方法,如果没有重写,该子类也必须时抽象类常见问题抽象类可以有构造方法吗?如果有?构造方法有什么意义?有,

2021-06-25 14:44:52 42

原创 java基础-重写

重写方法重载概念的概述在同一个类中,方法名相同,参数列表不同,与返回值无关方法重写的概念在子类中,出现了和父类方法声明完全一样的方法就是方法重写方法名,参数列表,返回值类型都一样,只是方法体不一样。方法重写的格式和父类方法声明一样方法重写的场景当父类方法的功能不能满足子类使用时,子类可以重写父类来自己实现该方法的功能。 方法重写的注意事项子类重写父类方法后,调用方法不在调用父类的方法,而是调用子类重写后的方法子类重写父类方法时,使用的权限修饰符要大于等于父类方法的权限Public

2021-06-25 14:33:38 2421 1

原创 java基础-继承

继承的概述继承是面向对象的三大特征之一,也是面向对象开发的重点用来解决代码重复出现的问题,是类与类关系的一种从类与类的设计角度来看,子类应该是父类的一种时才可以使用继承继承的好处提高了代码的复用性提高了代码的扩展性为多态提供了前提继承的特点1. 子类拥有父类(除构造方法以外)的所有成员变量和成员方法。2. 子类可以直接访问父类非private修饰的成员.3. 子类可以在父类的基础上进行扩展,子类可以添加自己特有的成员变量和成员方法4. 子类可以使用自己的方法实现父类的功能5.

2021-06-25 14:21:11 98

原创 Java基础-面向对象

匿名对象匿名对象的概念只有创建对象的时候,没有将该对象的地址赋值给某一个引用变量语法:new 类名(参数列表);匿名对象的特点没有任何引用变量指向当方法调用完毕之后,该对象就变成了垃圾对象.会在垃圾回收器空闲时被回收gc----->garbage collect匿名对象的使用场景当对象只需要调用某个方法一次时,可以使用匿名对象作为方法的实际参数代码说明public static void main(String[] args) { // 创建人 /

2021-06-25 14:19:45 35

原创 异步工具

异步工具类,方便记录日志线程类import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.concurrent.*;/** * 线程相关工具类 * * @Author szw * @Date 2020/2/13 18:06 * @Version 1.0 **/public cla...

2020-02-27 17:01:00 108

原创 springBoot代码和依赖分开打包

目的:  1、分离代码和依赖(包括第三方的引入包)  2、分离配置文件到外部  3、修改/META-INF/MANIFEST.MF中加载依赖包的位置和启动类,包含第三方依赖jar包先查看项目的结构由于我的项目目前依赖的第三方的jar包,在src/lib/xxx.jar所有在打载入外部lib的时候也要把第三方依赖的包载入<build> <finalNam...

2019-10-24 17:01:00 121

原创 docker 安装Mysql

首先是拉去镜像(或者直接创建容器自然会拉去)docker pull mysql:5.7创建容器docker run --name mysql -p 3306:3306 --restart=always -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7以上参数的含义:--n...

2019-08-25 21:33:00 48

原创 springboot+druid+mybatis plus的多数据源配置

思路yml中配置多个数据源信息通过AOP切换不同数据源配合mybatis plus使用POM依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId>&lt...

2019-07-29 12:27:00 80

原创 Redis与memcached的区别

redis并不是把所有的数据都存放在内存,还可以将一些长期不使用的值存放在磁盘当中。而memcached只能存放在内存当中的;redis的数据类型比memcached的数据类型丰富,除了string外,还有set,list,sortd set,hash等;redis是可以持久化数据的,在一定程度上避免了数据的丢失,而memcached的安全性较低,一旦遇到停电,宕机的情况数据就会丢失;设...

2019-07-26 11:46:00 52

原创 Redis主从复制

介绍  我们还可以对redis服务器配置主从同步,来减轻redis服务器的压力,  这样访问时会读写分离,查询的时候会走从服务器,而更新操作的时候走主服务器;原理  主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。  默认情况下,每台Redis服务器都是主节...

2019-07-26 11:38:00 54

原创 Redis可能出现的问题

缓存穿透一般出现这样的问题,是因为当我们查询一条肯定不存在的数据的时候,缓存中没有,就会透过缓存来查询数据库,数据库也不存在,这样就不会将值保存在缓存中,最后还是缓存和数据库中都没有,如果一直访问这条数据。我们就对数据库进行频繁的查询,给数据库带来压力;解决方法:当查询的时候,如果缓存和数据库中都没有,我们就将这个数据以空的形式存放在缓存中,(或者是给一个false的标示)这样就不用去数据库...

2019-06-10 17:32:00 77

原创 Redis持久化

redis的持久化分为两种:RDB(redis database)    将缓存放到一个文件中,默认一段时间去存储一次    会将内容先放到缓存文件,持久化结束之后,就用缓存文件代替上一次的持久化文件    优点:会调用子进程来保持持久化,不会有数据库I/O    缺点:如果持久化的时候数据库丢失了数据,因为是’覆盖的‘所以,就找不到数据了,故适用于不太重要的数据    简单...

2019-06-10 17:22:00 59

原创 maven基础依赖外部lib包(依赖钉钉sdk为例)

jar包放置位置pom.xml指定依赖 1 <dependencies> 2 <!--钉钉工具包,如缺失请到钉钉服务器开发文档下载--> 3 <dependency> 4 <groupId>com.taobao.top</groupId> 5 <artifactId&...

2019-05-24 14:50:00 136

原创 JVM的内存区域划分

内存区域运行时数据区主要分为:方法区,堆,程序计数器,虚拟机栈,本地方法栈主要功能:方法区(Method Area)用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。方法区域又被称为“永久代”,但这仅仅对于Sun HotSpot来讲,JRockit和IBM J9虚拟机中并不存在永久代的概念。堆(Heap)它是JVM用来存储对象实例以及数组值的区域,J...

2019-05-16 14:39:00 65

原创 Notepad++ 个人洁癖

插件:JSON Viewer     可以以树的形式查看JSON,同时可以格式化JSON,增加缩进。NppExport    可以高亮复制 下载地址:https://github.com/chcg/NPP_ExportPlugin/releasesXML tools    格式化xml文件NppAStyle    格式化代码...

2019-05-05 16:58:00 69

原创 docker 安装ElasticSearch的中文分词器IK

首先确保ElasticSearch镜像已经启动安装插件方式一:在线安装进入容器docker exec -it elasticsearch /bin/bash在线下载并安装./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v...

2019-04-07 10:58:00 74

原创 docker 安装ElasticSearch head

github官网地址https://github.com/mobz/elasticsearch-head拉取镜像docker pull mobz/elasticsearch-head:5创建容器docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5启动容器docker s...

2019-04-07 00:37:00 113

原创 docker 安装ElasticSearch 6.x

首先是拉去镜像(或者直接创建容器自然会拉去)docker pull elasticsearch:6.5.4创建容器docker run --name elasticsearch --net host -e "discovery.type=single-node" elasticsearch:6.5.4启动docker start elasticsearch查看日志...

2019-04-03 23:52:00 59

空空如也

空空如也

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

TA关注的人

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