Java基础之二叉搜索树的基本操作

一、二叉搜索树插入元素/** * user:ypc; * date:2021-05-18; * time: 15:09; */ class Node { int val; Node left; Node right; Node(int va...

2021-05-23

java语法糖之jdk迭代的新特性汇总

语法糖(Syntactic sugar)
是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序...

2021-05-23

Java基础之创建虚拟机对象的过程详细总结

一、对象的创建
1.1 new 类名虚拟机遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已经被加载、解析和初...

2021-05-23

JavaSwing基础之Layout布局相关知识详解

一、View layout方法首先,还是从ViewRootImpl说起,界面的绘制会触发performMeasure、performLayout方法,而在performLayout方法中就会调用mView的layout方法开始一层层View的布...

2021-05-23

Java数据结构之链表的增删查改详解

一、链表的概念和结构1.1 链表的概念简单来说链表是物理上不一定连续,但是逻辑上一定连续的一种数据结构1.2 链表的分类实际中链表的结构非常多样,以下情况组合起来就有8种链...

2021-05-23

如何获取Maven项目的版本号

目前大多数Spring Boot项目都会打成Jar包,所以什么War包、Ear包的就先不摸索了。Jar包的秘密
我们先解压一个Spring Boot应用Jar包看看里面能不能找到一些蛛丝马迹。在META-I...

2021-05-22

Spring Boot集成ShedLock分布式定时任务的实现示例

一、ShedLock是什么?
官方地址:github.com/lukas-kreca…以下是ShedLock锁提供者,通过外部存储实现锁,由下图可知外部存储集成的库还是很丰富的本篇教程我们基于JdbcTemplate存...

2021-05-22

Java 进行时间处理的步骤

一、Calendar
(1)、Calender介绍
Calendar的中文翻译是日历,实际上,在历史上有着许多种计时的方法。所以为了计时的统一,必需指定一个日历的选择。那现在最为普及和通用的日历就...

2021-05-22

Java源码解析之Iterable接口

这里我们给定一个集合strings一、写法1–循环for (int i = 0, len = strings.size(); i < len; i++) { System.out.println(strings.get(i));}二、写法2–foreach循环for...

2021-05-22

Java Springboot之Spring家族的技术体系

一、WhySpring Boot 在传统 Spring 框架的基础上做了创新和优化,将开发人员从以往烦琐的配置工作中解放出来,并提供了大量即插即用的集成化组件,从而解决了各种组件之间复杂的...

2021-05-21

教你用Springboot实现拦截器获取header内容

分析既然需要动态获取那么只有两种方式:要么每次下游请求过来时从请求头中获取,要么定义统一的拦截器自动获取。实现那么我们就先来实现一下吧。第一种比较简单,直接使用spring...

2021-05-21

Spring注解解析之@ImportResource

一、ImportResource1.1 定义包和类首先定义一个不会被ComponentScan扫描到的包outpackage,如下:在该包内创建一个类:package outpackage;import org.springframework.stereotyp...

2021-05-21

Java实现FTP文件上传

一、配置FTP文件服务器
以Ubuntu为例FTP两种模式简介
PORT(主动模式)
第一步FTP客户端首先随机选择一个大于1024的端口p1,并通过此端口发送请求连接到FTP服务器的21号端口建立T...

2021-05-21

SpringBoot之导入静态资源详解

一、分析源码我们学完之前的框架,大概知道静态资源过滤是由mvc处理的,然后在分析自动装配的时候会遇到WebMvcAutoConfiguration类,我们点击进入该类,如图所示:进入该类,我们会发现...

2021-05-20

Java进阶之走进RESTful接口

一、什么是APIAPI (应用程序编程接口) 两种用法1.类似jar的使用:A软件将功能打包成组件(功能块:比如java中的jar),让B软件导入直接使用2.http请求方式:A项目(系统)提供一个...

2021-05-20

详解Springboot之Logback的使用学习

一、导入依赖普通项目<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.11</version></dependency><depende...

2021-05-20

详解Spring中的Transactional属性

一、Transactional声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚...

2021-05-20

Java源码解析之SortedMap和NavigableMap

一、前言由于乱序的数据对查找不利,例如无法使用二分法等降低算法的时间复杂度,如果数据在插入时就排好序,查找的性能聚会提升很多。sortedMap接口就是为这种有序的数据服务的...

2021-05-20

Java基础之MapReduce框架总结与扩展知识点

一、MapTask工作机制MapTask就是Map阶段的job,它的数量由切片决定二、MapTask工作流程:1.Read阶段:读取文件,此时进行对文件数据进行切片(InputFormat进行切片),通过切片,从而确定...

2021-05-20

Springboot基础学习之初识SpringBoot

一、图示spring再简化:SpringBoot-jar:内嵌tomacat;微服务架构!二、springboot是什么spring是一个为了解决企业级应用开发的复杂性而创建的,简化开发三、spring是如何简化开发的?...

2021-05-20

详解Java停止线程的四种方法

一、线程停止基础知识
interrupted(): 测试当前线程是否已经中断。该方法为静态方法,调用后会返回boolean值。不过调用之后会改变线程的状态,如果是中断状态调用的,调用之...

2021-05-18

Java实现多线程中的静态代理模式

前言代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。简言之...

2021-05-18

JAVA多线程中join()方法的使用方法

虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正在运行多个线程时,join()到底是暂停了哪些线程,大部分博...

2021-05-18

IntelliJ IDEA 老司机居然还没用过 Stream Trace功能(问题小结)

前言自从 Java 8 开始,作为程序员的我们都离不开 Stream 相关功能的使用,书写起来那叫一个流畅(这个 feel~~)。但总是有一些时候,我们对 stream 的操作所要的结果和预期不符,这就需...

2021-05-18

Java基础之位运算知识总结

一、位运算的分类与展现效果java位运算可以分为左移和右移,其中右移还有无符号右移。
&#8195;java只对整型位移,可以分为int体系和long体系。int体系包括(byte, short, int, ch...

2021-05-17

Java数据结构之链表详解

一、链表的介绍什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为...

2021-05-17

教你怎么在win10环境下安装jdk8

一、下载下载最新的JDK8:Oracle JDK8下载下载64位版本 Java SE Development Kit 8u291 (版本根据自己选择)二、安装下载好后,准备安装:双击.exe,安装jdk8。
建议使用默认目录,安装...

2021-05-17

Java基础之FastJson详解

一、fastJson将json格式字符串转化成List集合注:json格式字符串必须符合数组型格式如[{"a":a},{"b":b}]场景一:前端向后台传递数组格式的json字符串,如何转化成List集合List<Ac...

2021-05-17

MyBatis流式查询的三种实现方法

导读:流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用如果没有流式查询,我们想要从数据库取...

2021-05-17

浅谈Servlet的Cookie和Session机制

一、Servlet CookiesCookies定义:Cookies是存储在客户端计算机上的文本文件,并保留了用户的各种跟踪信息。Cookies作用:会话保持,如完成用户的登录与状态保持Cookies的工作原理:...

2021-05-17

Spring Security源码解析之权限访问控制是如何做到的

〇、前文回顾在实战篇《话说Spring Security权限管理(源码详解)》我们学习了Spring Security强大的访问控制能力,只需要进行寥寥几行的配置就能做到权限的控制,本篇来看看它到底...

2021-05-17

Java进阶必备之多线程编程

一、图示二、多线程编程何为多线程,通俗的讲就是让你的代码同时干好几件事。而我们的一个代码文件或者一个项目就是一个进程,而如果我们想提高效率,我们可以多开几个文件进行多...

2021-05-17

新手小白学JAVA IDEA下载使用手册全集

IDEA 新手使用手册1 简介IDEA的全称是IntelliJ IDEA,这是一个java编程语言开发的集成环境。
IDEA的每一个方面都是为了最大限度地提高开发人员的工作效率而设计的,它的智能编...

2021-05-17

IDEA中使用jclasslib插件可视化方式查看类字节码的过程详解

说明在学习jvm相关知识时,一般会讲到类字节码相关内容,为了更清晰的了解类字码具体内容,一般我们会使用javap命令进行查看,但是仍然不够直观,有没有更易于理解的方式查看类字节码...

2021-05-17

深入理解Java序列化与反序列化

一、前言序列化:将对象转换为二进制序列在网络中传输或保存到磁盘反序列化:从网络或磁盘中将二进制序列转换为对象注意: 对象必须实现Serializable接口 对象的所有属性都...

2021-05-17

JAVA IDEA入门使用手册(新手小白必备)

1 简介IDEA的全称是IntelliJ IDEA,这是一个java编程语言开发的集成环境。
IDEA的每一个方面都是为了最大限度地提高开发人员的工作效率而设计的,它的智能编码辅助和人机工程...

2021-05-16

python实现高斯模糊及原理详解

高斯模糊是一种常见的模糊技术,相关知识点有:高斯函数、二维卷积。 (一)一维高斯分布函数一维(连续变量)高斯函数形式如下,高斯函数又称“正态分布函数”:μ是分布函数的均值(或者期...

2021-05-16

java如何实现多线程的顺序执行

场景
编写一个程序,启动三个线程,三个线程的name分别是A,B,C;,每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC...使用 synchronized 实现public class MyService{ priva...

2021-05-16

Mybatis实现分表插件

背景事情是酱紫的,阿星的上级leader负责记录信息的业务,每日预估数据量是15万左右,所以引入sharding-jdbc做分表。上级leader完成业务的开发后,走了一波自测,git push后,就忙其他...

2021-05-16

SpringBoot项目如何打war包问题详解

1、pom.xml配置修改<packaging>jar</packaging>//修改为<packaging>war</packaging>2、pom文件添加如些依赖<!--添加servlet-api的依赖,用来打war包 --><dependency> <group...

2021-05-15

Java基础之教你如何正确运用依赖注入

一、C++的诟病C++最遭人诟病的地方就是定义一个类需要写两个文件,一个.h文件和一个.cpp文件。例如定义一个CMainFrame类,mainframe.h内容如下:class CMainFrame : public CFram...

2021-05-15

Java基础之内存泄漏与溢出详解

一、浅析内存泄露( memory leak):是指程序在申请内存后,无法释放已申请的内存空间,多次内存泄露堆积后果很严重,内存迟早会被占光。内存泄漏最终会造成内存溢出。
内存溢出(out of...

2021-05-15

Java并发编程之LockSupport类详解

一、LockSupport类的属性private static final sun.misc.Unsafe UNSAFE; // 表示内存偏移地址 private static final long parkBlockerOffset; // 表示内存偏移地...

2021-05-15

解决无法解析javax.servlet的方法

错误原因未导入servlet-api.jar这个包一般来说,创建一个servlet,通常是需要servlet.api-jar和jsp-api.jar的支持解决方法Idea导入:找到tomcat的安装目录,在其lib目录下找到ser...

2021-05-15

Java中保证线程顺序执行的操作代码

只要了解过多线程,我们就知道线程开始的顺序跟执行的顺序是不一样的。如果只是创建三个线程然后执行,最后的执行顺序是不可预期的。这是因为在创建完线程之后,线程执行的开始时...

2021-05-15

聊聊在Servlet中怎么上传文件

首先对Servlet上传文件的简单理解此前,Servlet本身没有对文件上传提供直接的支持,一般需要使用第三方框架来实现,这样就比较麻烦
不过,Servlet3.0之后提供了这个功能,而且使用非...

2021-05-15

关于Spring的@Transaction导致数据库回滚全部生效问题(又删库跑路)

1 前言很多需要使用事务的场景,都只是在方法上直接添加个@Transactional注解
但是,你以为这真的够了吗?事务如果未达到完美效果,在开发和测试阶段都难以被发现,因为你难以考虑到...

2021-05-15

喜大普奔IntelliJ IDEA 可以使用中文了

推荐阅读:idea安装配置破姐方法idea2021安装jihuo方法1. 前言今天 IntelliJ Idea 2020.1 正式发布了!最大的一个亮点莫过于开始支持中文了。相信很多英语不好的同学已经期盼已...

2021-05-12

详解SpringIOC容器相关知识

一、前言IOC控制反转,不是一种技术,而是一种设计思想,就是将原本在程序中手动创建对象的控制权,交给Spring框架来管理。区别: 没有IOC的思路:若要使用某个对象,就必须自己负责去...

2021-05-12

浅谈Java中File文件的创建以及读写

1.创建一个文件 @Test public void test6() throws IOException { File file1 = new File("C:\\IDEA\\h1.txt"); if(!file1.exists()){//文件不存在...

2021-05-12
返回顶部
顶部