java系列
文章平均质量分 61
包含springcloud springboot等
WalkerShen
端正 静心 呼吸 下笔
展开
-
叮~ java最常用加密方式的实践与封装
叮~ java最常用加密方式的实践与封装原创 2023-01-31 15:20:24 · 533 阅读 · 0 评论 -
【java系列】jdk下载和环境配置(windows版)
windows安装jdk原创 2022-06-06 16:23:12 · 320 阅读 · 0 评论 -
【java系列】java反射使用和实践
学习反射吧原创 2022-04-19 22:28:21 · 315 阅读 · 0 评论 -
【java系列】==和equals的详解(含源码)_hashcode
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~== 和 equals 的区别是什么==它的作用是判断两个对象的地址是不是相等。即:判断两个对象是不是同一个对象。(基本数据类型 == 比较的是值,引用数据类型 == 比较的是内存地址)面试中常考的有Integer和String问题Integet问题package objectOrientedTest;public class Equa.原创 2022-04-17 11:44:16 · 457 阅读 · 0 评论 -
【java系列】java之重写和重载的区别
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载1、发生在同一个类中,2、方法名相同3、参数列表不同(参数类型不同、个数不同、顺序不同),4、与方法返回值和访问修饰符无关,即重载的方法不能根据返回类型进行区分与修饰符无关:与返回值也无关:重写1、发生在父子类中,方法名、参数列表.原创 2022-04-17 10:55:15 · 256 阅读 · 0 评论 -
【java系列】内部类之四大内部类详解
什么是内部类?在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类。内部类本身就是类的一个属性,与其他属性定义方式一致。内部类的分类有哪些 4`分别有以下几种:静态内部类,成员内部类,局部内部类,匿名内部类静态内部类定义在类内部的静态类,就是静态内部类。package objectOrientedTest.innerClass;public class ClassDemo { /** * 静态内部类 */ static class Sta原创 2022-04-16 22:28:53 · 513 阅读 · 0 评论 -
【java系列】在Java中定义一个不做事且没有参数的构造方法的作用
作用Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,则编译时将发生错误,因为Java程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。案例父类package objectOrientedTest.valiable;public class Father原创 2022-04-16 21:42:43 · 1311 阅读 · 3 评论 -
【java系列】java之抽象类与接口详解
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~抽象类和接口的对比抽象类是用来捕捉子类的通用特性的。接口是抽象方法的集合。从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。相同点1、接口和抽象类都不能实例化案例:1、定义接口和抽象类//抽象类public abstract class AbstractDemo {}//接口public i.原创 2022-04-16 16:08:09 · 159 阅读 · 0 评论 -
【java系列】面向对象之4大特征|3大特性|5大原则
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~面向对象的4大特征抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。例如:动物基本上都需要吃,那么就有“吃”这个行为抽象,也有体重,那么就有“体重”这个数据抽象属性了。封装封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不.原创 2022-04-16 13:46:48 · 614 阅读 · 0 评论 -
【java系列】关键词break,continue,return的作用|以及如何跳出多重循环
break ,continue ,return 的区别及作用break 跳出总上一层循环,不再执行循环(结束当前的循环体)continue 跳出本次循环,继续执行下次循环(结束正在执行的循环 进入下一个循环条件)return 程序返回,不再执行下面的代码(结束当前的方法 直接返回)案例:package processTest;public class ProcessTest { public static void main(String[] args) { Pr原创 2022-04-16 13:02:59 · 1347 阅读 · 0 评论 -
【java系列】static关键词的作用和使用
static存在的主要意义1、静态变量,静态方法是在于创建独立于具体对象的域变量或者方法。以致于即使没有创建对象,也能使用属性和调用方法!public class StaticDemo { /** * 定义静态变量 */ public static String name="walker"; public static void staticMethod(){ System.out.println("i am static"); .原创 2022-04-16 12:50:50 · 414 阅读 · 0 评论 -
【java系列】tihs和super的使用和区别
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~this关键字的用法this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。用法:普通的直接引用this相当于是指向当前对象本身。形参与成员名字重名,用this来区分形参和实参引用本类的构造函数案例package thisAndSuperTest;public class ThisClass { priva.原创 2022-04-16 11:07:42 · 474 阅读 · 0 评论 -
【java系列】final的作用(含案例)
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~final用于修饰类、属性和方法;主要有下面的用途被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的实践案例1、类不可被继承1、定义final类package finalTest;public fin.原创 2022-04-16 10:47:51 · 634 阅读 · 0 评论 -
【java系列】访问修饰符public,private,protected,default的区别
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~我的gitee:https://gitee.com/shen-chuhao/walker.git 里面很多技术案例!定义Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。修饰范围private:变量,方法default:类、接口、变量、方法protected:变量、方法public:类.原创 2022-04-16 10:17:10 · 259 阅读 · 0 评论 -
【java系列】switch的使用,以及是否可以使用Long,枚举作为参数
大家好,我是walker一个从文科自学转行的程序员~爱好编程,偶尔写写编程文章和生活欢迎关注公众号【I am Walker】,一块学习编程~我的gitee:https://gitee.com/shen-chuhao/walker.git 里面很多技术案例!在 Java 5 以前,switch(expr)中,expr 只能是 byte、short、、int、char从 Java5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 Java 7 开始,expr 还可以.原创 2022-04-14 23:53:02 · 1322 阅读 · 0 评论 -
【java系列】使用JAXB实现java对象和XML的转换
JAXBJAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。核心类JAXBContext:Jaxb的上下文,通过这个对象我们能拿到另外两个核心对象Unmarshaller(用于解析xml)和Marshaller (生成xml)JAXBContext通常使用它的静态方法newInstance(Class className)来获得对象Unmarshaller用于解析xml 通过JAXBCon原创 2022-04-12 23:48:32 · 2734 阅读 · 2 评论 -
【java系列】unix时间戳转Date
unix时间戳转Date注意,不能直接使用Integer进行乘除和转换,需要转成bigDecimal去处理,否则转换出来的时间只会是1970-xxxxpackage hutoolTest;import cn.hutool.core.date.DateTime;import java.math.BigDecimal;import java.text.SimpleDateFormat;import java.util.Date;public class DateTest { pub原创 2022-03-28 17:03:28 · 1600 阅读 · 5 评论 -
【java并发系列】探知synchronized 底层实现原理
synchronized是Java中的一个关键字,在使用的过程中并没有看到显示的加锁和解锁过程。因此有必要通过javap命令,查看相应的字节码文件。synchronized 同步语句块的情况查找案例1、编写测试类package synchronizedTest;public class SynchronizedTheory { public void getTheory(){ synchronized (this){ System.out.pri原创 2022-03-21 22:55:21 · 345 阅读 · 0 评论 -
【java并发系列】为什么尽量不要使用 synchronized(String a)
尽量不要使用 synchronized(String a) 因为JVM中,字符串常量池具有缓存功能!,就会导致你会加锁在同一个对象。演示案例package synchronizedTest;/*** author:walker* time: 2022/3/21* description: String常量池问题*/public class StringProblem { //使用字符串定义变量r1和r2,这样会使r1和r2指向常量池的同个数据,使得r1和r2实际上是一个对象原创 2022-03-21 22:37:07 · 1520 阅读 · 0 评论 -
【java并发系列】java多线程实现生产者消费者模式
简介一般来说,生产者和消费者模式可以实现对任务数量的控制,防止任务过多,导致程序处理不来。主要思想当队列满时,生产者需要等待队列有空间才能继续往里面放入商品,而在等待的期间内,生产者必须释放对临界资源(即队列)的占用权。因为生产者如果不释放对临界资源的占用权,那么消费者就无法消费队列中的商品,就不会让队列有空间,那么生产者就会一直无限等待下去。因此,一般情况下,当队列满时,会让生产者交出对临界资源的占用权,并进入挂起状态。然后等待消费者消费了商品,然后消费者通知生产者队列有空间了。同样地,当队列原创 2022-03-16 23:36:05 · 2180 阅读 · 0 评论 -
【java并发】interrupt、isInterrupted、interrupted的使用
isInterrupted查看当前中断信号是true还是falseinterrupt用于中断线程。调用该方法的线程的状态为将被置为**”中断”状态**。注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。支持线程中断的方法(也就是线程中断后会抛出interruptedException 的方法)就是在监视线程的中断状态,一旦线程的中断状态被置为“中断状态”,就会抛出中断异常。案例:一般而言,interrupt是和isInterrupted进原创 2022-03-16 10:44:42 · 421 阅读 · 0 评论 -
【java并发】java多线程yield的使用
Thread.yield()作用暂停当前正在执行的线程对象(及放弃当前拥有的cup资源),并执行其他线程。yield()做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。但是这并不意味着,下一次获取时间片的线程不是另一个线程,也有可能是使用yield的线程是否使用yield的对比没有使用yield的情况package ThreadMethod;public class NotYieldTest { public static void main(原创 2022-03-15 23:31:20 · 1418 阅读 · 0 评论 -
【java并发】synchronized、wait和notify的实践
简介synchronized、wait和notify的实践synchronized是对资源进行加锁wait是对让线程进行等待,使线程进行阻塞状态,进入等待队列notify是唤醒等待队列的线程,让其重新进入就绪状态,从而能够竞争时间片,去执行线程synchronized、notify和wait是需要进行结合使用的,下面这里为使用案例案例package ThreadMethod;public class WaitAndNotifyTest { //定义一个资源 pri原创 2022-03-15 18:19:37 · 601 阅读 · 0 评论 -
【多线程】java线程死锁学习,包含案例
什么是线程死锁定义死锁是指两个或两个以上的进程(线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。举例假设有两个孩子分别为孩子A和孩子B,相当于两个线程,还有两个玩具,一个是苹果,一个是香蕉,一开始孩子A拿的是苹果,孩子B拿的是香蕉,之后过了一段时间,孩子A想要玩香蕉,孩子B想要玩苹果,但是他们都不愿意放下手中的玩具,结果就会导致双方都想要对方的玩具,但是又不放弃现在持有的玩具,就只能导致两方都在等待了,也就是我们所说的死锁了package原创 2022-03-15 11:21:42 · 282 阅读 · 0 评论 -
【java】java创建对象的5种方式
创建方式方式解释使用new关键字调用了构造函数使用Class的newInstance方法调用了构造函数使用Constructor类的newInstance方法调用了构造函数使用clone方法没有调用构造函数使用反序列化没有调用构造函数案例,步骤1、先创建实例类package jvm.entity;//1、继承Cloneable接口,这里是为了实现通过clone创建对象//实现序列化接口,是为了实现序列化和反序列化功能public c原创 2022-03-14 17:27:34 · 1064 阅读 · 0 评论 -
【设计模式】java装饰器模式
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。意图动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子类会很膨胀。案例在不修改原有的方法的条件下,给该方法功能。1、原有接口类,实现类//接口类public interfa.原创 2022-03-08 23:30:19 · 311 阅读 · 0 评论 -
【设计模式】java观察者模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。案例创建一个通知类,以及两个看电视的人,在电视开播或者停播的时候通知类对看电视人进行统一通知1、定义通知类package ..原创 2022-03-08 23:29:27 · 258 阅读 · 0 评论 -
【docker系列】dockercompose安装ELK并实现springboot日志分析
参考文章:https://blog.csdn.net/weixin_34311210/article/details/113195996https://www.jianshu.com/p/2d78ce6bc504使用docker-compose安装elk1、新建目录mkdir -p /data/elk/{elasticsearch/data,logstash} #新建目录2、编写docker-compose.yml可以在data/elk目录中version: '3'service原创 2021-12-22 18:21:44 · 1553 阅读 · 0 评论 -
嗯? 听说你还搞不懂静态代理和动态代理?
静态代理静态代理其实就是在程序运行之前,提前写好被代理方法的代理类,编译后运行。在程序运行之前,class已经存在。下面我们实现一个静态代理demo:步骤创建一个目标接口目标接口实现类写一个代理类实现目标接口,初始化时将目标放入最后写一个测试类测试即可代码package Proxy;/**静态代理*///测试类public class StaticProxy { public static void main(String[] args) { T原创 2021-03-25 11:53:53 · 107 阅读 · 0 评论 -
java异常五大关键词 try-catch-finally-throw-throws
Java异常关键字 5·try –用于监听。将要被监听的代码(可能抛出异常的代码)放在try语句块之内,当try语句块内发生异常时,异常就被抛出。catch用于捕获异常。catch用来捕获try语句块中发生的异常。finally –finally语句块总是会被执行。它主要用于回收在try块里打开的物力资源(如数据库连接、网络连接和磁盘文件)。只有finally块,执行完成之后,才会回来执行try或者catch块中的return或者throw语句,如果finally中使用了ret原创 2021-03-25 09:48:24 · 1295 阅读 · 0 评论 -
target加载不出文件的原因之一
原创 2021-01-12 14:31:18 · 876 阅读 · 0 评论 -
springboot1.x整合redis
整合redis前提:安装redis官方进行下载开启redis修改redis.conf文件整合1、导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency&g原创 2021-03-02 11:05:26 · 419 阅读 · 0 评论