自定义博客皮肤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)
  • 资源 (5)
  • 收藏
  • 关注

转载 十八:Java8新特性

Java 8 (又称为jdk 1.8) 是Java 语言开发的一个主要版本。Java 8 是oracle公司于2014年3月发布,可以看成是自Java 5 以来最具革命性的版本。Java 8为Java语言、编译器、类库、开发工具与JVM带来了大量新特性。/** 4.Lambda表达式的本质:作为函数式接口的实例* 5. 如果一个接口中,只声明了一个抽象方法,则此接口就称为函数式接口。我们可以在一个接口上使用 @FunctionalInterface 注解,

2024-04-14 08:28:35 1129

转载 十七:反射与动态代理

Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。1、动态语言。

2024-04-14 08:26:34 56

转载 十六:网络编程

Java是Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java 的本机安装系统里,由JVM 进行控制。并且Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境。计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。

2024-04-14 08:24:10 52

转载 十五:IO流

1.2、File类的常用方法11.3、File类的常用方法21.4、课后练习02、IO流原理及流的分类2.1、IO流原理I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。Java程序中,对于数据的输入/输出操作以“流(stream)”的方式进行。java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程

2024-04-14 08:23:09 43

转载 十四:泛型

1、OrderTest类/*** 自定义泛型类*///类的内部结构就可以使用类的泛型T orderT;//如下的三个方法都不是泛型方法@Override'}';//泛型方法:在方法中出现了泛型的结构,泛型参数与类的泛型参数没有任何关系。//换句话说,泛型方法所属的类是不是泛型类都没有关系。//泛型方法,可以声明为静态的。原因:泛型参数是在调用方法时确定的。并非在实例化类时确定。2、SubOrder类。

2024-04-13 18:35:09 50

转载 十三:集合

Java 集合可分为 和 两种体系02、Collection接口方法Collection 接口是List、Set 和Queue 接口的父接口,该接口里定义的方法既可用于操作Set 集合,也可用于操作List 和Queue 集合。JDK不提供此接口的任何直接实现,而是提供更具体的子接口(如:Set和List)实现。在Java5 之前,Java 集合会丢失容器中所有对象的数据类型,把所有对象都当成Object 类型处理;从JDK 5.0 增加了泛型以后,Java 集合可以记住容器中对象的数据类型。

2024-04-13 18:33:55 102

转载 十二:枚举与注解

枚举类的属性枚举类对象的属性不应允许被改动, 所以应该使用修饰枚举类的使用修饰的属性应该在构造器中为其赋值若枚举类显式的定义了带参数的构造器, 则在列出枚举值时也必须对应的传入参数/*** 一、枚举类的使用* 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类。* 2.当需要定义一组常量时,强烈建议使用枚举类* 3.若枚举只有一个对象, 则可以作为一种单例模式的实现方式。* 二、如何定义枚举类* 方式一:JDK1.5之前需要自定义枚举类。

2024-04-13 18:32:28 55

转载 十一:常用类

*** String的使用/*** String:字符串,使用一对“”引起来表示。* 1.String声明为final的,不可被继承* 2.String实现了Serializable接口:表示字符串是支持序列化的。* 实现了Comparable接口:表示String可以比较大小* 3.String内部定义了final char[] value用于存储字符串数据* 4.String:代表不可变的字符序列。简称:不可变性。* 体现:/*** String的使用/**

2024-04-13 18:31:21 47

转载 十:多线程

提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。以单核CPU为例,只使用单个线程先后完成多个任务(调用多个方法),肯定比用多个线程来完成用的时间更短,为何仍需多线程呢?经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。Java中的线程分为两类:一种是守护线程,一种是用户线程。多个线程对账本的共享,会造成操作的不完整性,会破坏数据。:工具类、线程池的工厂类,用于创建并返回不同类型的线程池。多个线程执行的不确定性引起执行结果的不稳定。:真正的线程池接口。

2024-04-13 18:29:57 40

转载 九: 异常

在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,读取文件是否存在,网络是否始终保持通畅等等。异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。/*

2024-04-13 18:27:52 36

转载 八:面向对象(下)

** 自定义数组工具类*/// 求数组的最大值i++) {// 求数组的最小值i++) {// 求数组总和i++) {return sum;// 求数组平均值//如下两个同名方法构成重载// 反转数组i++) {// 复制数组i++) {// 数组排序i++) {j++) {//错误的://错误的:交换数组中两个指定位置元素的值// i = j;// }//正确的:// 遍历数组。

2024-04-13 18:26:09 40

原创 【编程不良人】SpringSecurity实战学习笔记01---权限管理、环境搭建

【编程不良人】SpringSecurity 最新实战教程,更新中…_哔哩哔哩_bilibiliSpring Security是一个功能强大、可高度定制的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实标准。Spring Security是一个面向Java应用程序、提供身份验证和安全性的框架。与所有Spring项目一样,Spring Security的真正威力在于它可以轻松地扩展以满足定制需求。**总结:**Spring Security是一个功能强大、可高度定制的身份验证和访问控制。

2023-10-23 18:14:14 353

转载 SpringCloud之Eureka注册中心安全校验

Security默认启用了csrf检验,CSRF一般指跨站请求伪造攻击,需要在Eureka Server端配置关闭csrf检验,否则Eureka Client无法访问注册中心。启动Eureka Server服务,在浏览器上访问注册中心地址,会发现页面先跳转到登录页,输入配置文件上配置的用户名和密码,登录成功,并跳转到管理界面,说明安全验证机制已经生效。(5)在Eureka Client端application.yml配置文件中修改注册中心地址,启动客户端服务,服务正常注册。为了避免恶意服务被注册到。

2023-02-19 17:27:59 373

转载 如何csdn复制他人博客文章到自己博客下

优快云是中文第一大互联网技术网站,上面有很多好的文章,有时候需要复制别人的文章到自己的文章下进行修改重新发布,这要怎样做呢?

2022-10-12 17:21:10 399

原创 JUC 共享模型之工具阶段八

8.1 线程池池化技术相比大家已经屡见不鲜了,线程池、数据库连接池、Http 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。这里借用《Java 并发编程的艺术》提到的来说一下使用线程池的好处:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即

2021-09-20 18:12:05 247

原创 共享模型之不可变阶段七

7.1 日期转换的问题问题提出,下面的代码在运行时,由于 SimpleDateFormat 不是线程安全的,有很大几率出现 java.lang.NumberFormatException 或者出现不正确的日期解析结果。 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 0; i < 10; i++) { new Thread(() -> {

2021-09-20 18:11:42 192

原创 JUC共享模型之无锁并发阶段六

6. 共享模型之无锁管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式的乐观锁的来实现并发控制。友情提示:无锁并发就是不需要锁控制并发6.1 问题提出有如下需求,保证account.withdraw取款方法的线程安全public class Test5 { public static void main(String[] args) { Account.demo(new AccountUnsafe(10000)); }}cl

2021-09-20 18:11:22 271

原创 JUC共享模型之内存阶段五

5. 共享模型之内存上一章讲解的 Monitor 主要关注的是访问共享变量时,保证临界区代码的原子性。这一章我们进一步深入学习共享变量在多线程间的【可见性】问题与多条指令执行时的【有序性】问题5.1 Java 内存模型(JMM)JMM 即 Java Memory Model,它从java层面定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等。JMM 体现在以下几个方面原子性 - 保证指令不会受到线程上下文切换的影响 可见性 - 保证指令不会受 cp

2021-09-20 18:10:51 209

原创 JUC共享模型之管程阶段四

4.6 wait和notify建议先看看wait和notify方法的javadoc文档API 介绍obj.wait() 让进入 object 监视器的线程到 waitSet 等待obj.notify() 在 object 上正在 waitSet 等待的线程中挑一个唤醒 ,随机唤醒一个线程obj.notifyAll() 让 object 上正在 waitSet 等待的线程全部唤醒它们都是线程之间进行协作的手段,都属于 Object 对象的方法。必须获得此对象的锁,才能调用这几个方法

2021-09-20 18:10:31 319

原创 JUC之synchronized原理阶段三

友情提示学习更加详细内容查看:多线程锁synchronized挑战_亚索@哈塞给-优快云博客4.5 Monitor 概念Java 对象头以 32 位虚拟机为例,普通对象的对象头结构如下,其中的klass Word为指针,指向对应的Class对象;数组对象 其中 Mark Word 结构为所以一个对象的结构如下:Monitor 原理Monitor被翻译为监视器或者说管程每个java对象都可以关联一个Monitor,如果使用synchronized给对象上锁..

2021-09-11 23:59:36 359

原创 JUC线程安全问题阶段二

线程问题4.1 线程出现问题的根本原因分析线程出现问题的根本原因是因为线程上下文切换,导致线程里的指令没有执行完就切换执行其它线程了,下面举一个例子 Test13.javastatic int count = 0; public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(()->{ for (int i = 1;i

2021-09-11 17:35:22 309

原创 JUC基础教程阶段一

线程与进程进程程序由指令和数据组成,但是这些指令要运行,数据要读写,就必须将指令加载到cpu,数据加载至内存。在指令运行过程中还需要用到磁盘,网络等设备,进程就是用来加载指令管理内存管理IO的 当一个指令被运行,从磁盘加载这个程序的代码到内存,这时候就开启了一个进程 进程就可以视为程序的一个实例,大部分程序都可以运行多个实例进程(例如记事本,浏览器等),部分只可以运行一个实例进程(例如360安全卫士)线程一个进程之内可以分为一到多个线程。 一个线程就是一个指令流,将指令流中的一条条指令以

2021-09-11 14:51:32 303

原创 分布式锁大战

为什么需要分布式锁在并发场景下,需要使用锁对共享资源互斥访问来保证线程安全;同样,在分布式场景下,也需要一种机制来保证对多节点共享资源的互斥访问,实现机制就是分布式锁。(说白了就是解决分布式中线程安全问题的)分布式锁需要满足的几点1.互斥;任何时刻只能有一个client获取锁2.释放死;即使锁定资源的服务崩溃或者分区,仍然能释放锁3.容错性;只要多数节点(一半以上)在使用,client就可以获取和释放锁4. 确保客户端只能解锁自己持有的锁。常见分布式锁的实现分类1、基于数据.

2021-07-02 15:37:45 225

原创 我的失效8

失效8。

2021-06-22 00:04:50 1024

原创 我的失效7

失效7。

2021-06-20 19:43:09 298

原创 我的失效6

失效6。

2021-06-20 15:40:39 205

原创 我的失效5

失效5。

2021-06-20 12:32:01 332

原创 我的失效4

我的失效。

2021-06-19 20:37:06 802

原创 我的失效3

失效3。

2021-06-19 19:03:20 250

原创 我的失效2

失效1。

2021-06-19 17:45:17 262

原创 我的失效1

失效。

2021-06-19 16:14:21 1741

转载 尚硅谷2020最新版宋红康JVM教程-中篇-第4章:再谈类的加载器-06-08

沙箱安全机制前言沙箱安全机制 保证程序安全 保护Java原生的JDK代码 Java安全模型的核心就是Java沙箱(sandbox)。什么是沙箱?沙箱是一个限制程序运行的环境。 沙箱机制就是将Java代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问。通过这样的措施来保证对代码的有限隔离,防止对本地系统造成破坏。 沙箱主要限制系统资源访问,那系统资源包括什么?CPU、内存、文件系统、网络。不同级别的沙箱对这些资源访问的限制也可以不一样。 所有的Java程序

2021-06-08 00:00:42 121

原创 多线程锁synchronized挑战

synchronized概述基本使用参考文档:https://www.cnblogs.com/bjlhx/p/10555194.html为确保共享变量不会出现并发问题,通常会对修改共享变量的代码块用synchronized加锁,确保同一时刻只有一个线程在修改共享变量,从而避免并发问题。 synchronized结论:    1、java5.0之前,协调线程间对共享对象的访问的机制只有synchronized和volatile,但是内置锁在功能上存在一些局限性,jdk5增加了Lock以及Ree

2021-05-21 16:57:26 157

原创 多线程锁架构

Java 中15种锁的介绍参考文档:https://www.cnblogs.com/chinaifae/articles/10232169.html在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下:公平锁 / 非公平锁 可重入锁 / 不可重入锁 独享锁 / 共享锁 互斥锁 / 读写锁 乐观锁 / 悲观锁 分段锁 偏向锁 / 轻量级锁 / 重量级锁 自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指.

2021-05-20 18:57:20 126

原创 JUC教程

为什么叫什么是JUC从下图能看出在java.util工具包注意:Runnable没有返回值,Callable有返回值,除此之外,Runnable的效率没有Callable效率高理解线程和进程进程:一个程序,QQ.exe Music.exe 程序的集合;进程中至少有一个线程,这个线程是守护进程线程:开了一个进程 Typora,写字,自动保存(线程负责的)通俗来说,就是进程内部有多个线程,进程实现功能都是依靠这些进程去实现的在java中线程有:Thread、Runnable、Ca

2021-05-20 15:33:00 153

原创 Springboot 定时任务,service层无法注入问题详细解决

开发一个微信小程序后台,建立websocket 长连接,需要后台开启定时任务,定时任务定时查库,相应前台但是具体执行过程中一直在报空指针错误,最后定位到service 为空,无法调用其相关的方法导致的于是我尝试不用@Autowired 注入实例,自己new ,但是还是失败了,报空指针这是spring的一个Bug ,需要手动去配置一个类,主动获取实例,在定时任务中(继承TimerTask类),@Autowired 是失效的,无法注入解决方案如下:1.首先添加一个工具类,就是applic

2021-05-07 20:11:25 2124

原创 失效内容8788

失效内容8788

2021-04-29 07:04:26 165

原创 失效内容7878

失效内容7878。

2021-04-23 14:50:11 190

原创 内容失效77

内容失效77。

2021-04-22 07:11:01 343

原创 内容失效7

内容失效7。

2021-04-22 04:35:37 321

空空如也

空空如也

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

TA关注的人

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