自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单例模式 的5种实现

一、//类装载的时候完成初始化,避免了多线程问题,//缺点: 在装载的时候完成初始化,内存可能浪费public class SingleTonTest1 {public static void main(String[] args) {}}class Singleton {private Singleton() {}private final static Singleton instance = new Singleton();public static Singleton getI

2020-11-12 23:48:19 63

原创 循环流程控制语句

** * 标识符的命名规则 * 标识符可以包含 英文字母26个(区分大小写) ,0-9 数字,-下划线 ,$ * 标识符不能以数字开头 * 标识符不能是关键字 * <p> * 命名规范 * 建议类名首字母大写, 大驼峰命名法 * 首字母小写,小驼峰命名法 * 常量 :程序运行期间,固定不变的量 * 字符串常量 * 整数常量 * 浮点数 * 布尔 * 空常量 * <p> * 变量:程序运行期间,内容方式变化的量 * <p> * 数据类型.

2020-11-12 23:38:08 132

原创 常用dos命令

* cd desktop* cd..* 1. ### 会使用常见的DOS命令:* <p>* 1. 关机 shutdown/s、重启电脑 shutdown/r* 2. 查看网络配置* ipconfig* 3. 查看当前的网络连接情况:如查看开启了哪些端口,* netstat -a //查看开启了那些端口* 4. 查看当前开启哪些服务,停止某个服务,启动某个服务* net start 已经启动的服务* net start "task scheduler" 开启任务计划服.

2020-11-12 23:37:19 88

原创 快速排序,java实现

本文介绍快速排序的实现原理,java代码实现,复杂度分析,本文主要在他人的基础上进行实现,希望大家批评指正!!!思路:对一组数据进行排序,先找出一个基准值,本文的基准值为数组中的第一个元素(因为是递归,进入递归后,每次排序的low值和high值都在变化),找到基准值后,比基准值大的放在基准字右边,比基准值小的在左边,public static void main(String[] args) { int[] arr = { 49, 38, 65, 97, 23, 22, 76, 1, 5, 8, 2

2021-03-20 10:54:25 115

转载 idea热部署

在idea中 File->Settings->Plugins->安装后重启IdeaTeam URL输入:“https://jrebel.qekang.com/6f540b75-a1f5-4ccc-ae32-d00e12eda632”“xyqierkang@163.com”

2021-01-22 17:09:18 131

转载 Redis基础试题

Redis有哪些数据结构?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、Pub/Sub。如果你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML,面试官得眼睛就开始发亮了。2. 使用过Redis分布式锁么,它是什么回事?先拿setnx来争抢锁,抢到之后,再用expire给锁加一个过期时间防止锁忘记了释放。这时候对方.

2020-12-16 19:46:05 420

转载 java NIO Buffer

Java NIO BufferBuffer是一个抽象类,位于java.nio包中,主要用作缓冲区。Buffer缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。注意:Buffer是非线程安全类。1.1. Buffer类型的标记属性Buffer在内部也是利用byte[]作为内存缓冲区,只不过多提供了一些标记变量属性而已。当多线程访问的时候,可以清楚的知道当前数据的位置。有三个重要的标记属性:capaci.

2020-12-16 15:57:32 281

转载 SpringCloud 中 Feign 核心原理

1SpringCloud 中 Feign 核心原理如果不了解 SpringCloud 中 Feign 核心原理,不会真正的了解 SpringCloud 的性能优化和配置优化,也就不可能做到真正掌握 SpringCloud。本章从Feign 远程调用的重要组件开始,图文并茂的介绍 Feigh 远程调用的执行流程、Feign 本地 JDK Proxy 实例的创建流程,彻底的为大家解读 SpringCloud 的核心知识。使得广大的工程师不光做到知其然,更能知其所以然。1.1 简介:Feign远程调用的基本

2020-12-16 13:57:52 433

转载 java基础

1.1、类中所有的private方法都隐式地指定为final的,由于其他类无法取用private方法,所以也就无法覆盖它;private方法无法被重写,继承对应private的方法无效,private的属性也无法拿到,但我们通常private的属性有对应的get、set方法,通常是public的,所以子类继承后可以调用方法来取得到父类的属性。1.2、final类禁止继承,所以final类中所有的方法都隐式地指定为final的,因此无法覆盖他们,你也可以给他们添加final关键字,但这没什么意义。1.3、

2020-12-10 17:45:47 83

转载 mysql索引知识

一、介绍1.什么是索引?一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。2.为什么要有索引呢?索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询

2020-12-10 17:41:17 76

原创 JAVA 复制

将一个对象的引用复制给另外一个对象,一共有三种方式。第一种方式是直接赋值,第二种方式是浅拷贝,第三种是深拷贝。所以大家知道了哈,这三种概念实际上都是为了拷贝对象。1.直接赋值复制直接赋值。在 Java 中,A a1 = a2,我们需要理解的是这实际上复制的是引用,也就是说 a1 和 a2 指向的是同一个对象。因此,当 a1 变化的时候,a2 里面的成员变量也会跟着变化2. 浅复制(复制引用但不复制引用的对象)创建一个新对象,然后将当前对象的非静态字段复制到该新对象,如果字段是值类型的,那么对

2020-12-10 14:32:17 355

原创 JAVA 内部类

Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。静态内部类定义在类内部的静态类,就是静态内部类。public class Out { private static int a; private int b; public static class Inner { public void print() { System.out.println(a); } } }

2020-12-10 14:20:35 114 1

原创 JAVA 反射

1. 动态语言动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化。比如常见的 JavaScript 就是动态语言,除此之外 Ruby,Python 等也属于动态语言,而 C、C++则不属于动态语言。从反射角度说 JAVA 属于半动态语言。2. 标题反射机制概念 (运行状态中知道类所有的属性和方法)在 Java 中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及

2020-12-10 14:05:48 92

原创 Throw 和 throws 的区别

throws 用在函数上,后面跟的是异常类,可以跟多个;而 throw 用在函数内,后面跟的是异常对象。功能不同:throws 用来声明异常,让调用者只知道该功能可能出现的问题,可以给出预先的处理方式;throw 抛出具体的问题对象,执行到 throw,功能就已经结束了,跳转到调用者,并将具体的问题对象抛给调用者。也就是说 throw 语句独立存在时,下面不要定义其他语句,因为执行不到。throws 表示出现异常的一种可能性,并不一定会发生这些异常;throw 则是抛出了异常,执行 thr.

2020-12-10 13:59:38 173

原创 java基础<一>

java语言的跨平台原理一次编译,到处运行编译器的作用:将源文件编译为class文件虚拟机的作:将字节码文件class 文件解释成为对应平台的机器码并执行java可以跨所有平台吗? 只有提供并安装了相应 的虚拟机, 就可以跨平台虚拟机和解释器的关系:解释器是虚拟机的一个重要组成部分java语言的执行要经过编译和解释两个阶段java 的安全性语言层次的安全性主要体现在:java取消了强大但又危险的指针,而取之以引用, 由于指针可以进行移动运算, 指针可随便指向一个内存区域, 而不管

2020-11-28 23:05:30 122 1

原创 springboot实战_1

springboot实战整合springMVC 1.修改端口(server.port =8888) 2.访问静态资源:(classpath:META/resources classpath:resources classpath:static classpath:public) 3.拦截器: 1).自定义拦截器:实现HandlerInterceptor接口 2).配置拦截器:自定义一个java配置类,(@Configuration),实现WebM.

2020-11-28 17:23:56 68

原创 SpringBoot中的默认配置

@EnableAutoConfiguration会开启SpringBoot的自动配置,并且根据引入的依赖来生效对应的默认配置, 那么问题来了:这些默认配置是怎么配置的, 在哪里配置的?为何依赖引入就会触发配置呢?这些默认配置的属性来自哪里呢?WebMvcAutoConfiguration类中获取配置类中的前缀后缀,来获取属性@Configuration@ConditionalOnWebApplication(type = Type.SERVLET)@ConditionalOnClass({

2020-11-28 11:13:26 489

原创 spring几种常用注解

1.@RestController2.@EnableAutoconfiguration:SpringBoot的自动配置3.@ComponentScan4.@SpirngBootApplication :启动器5.@SpringBootConfiguration6.@Configuration :配置文件7.@PropertySource8.@Bean :属性注入9.@Value10.@ConfigurationProperties11.@EnableConfigurationProper

2020-11-28 10:49:19 81

原创 bean属性注入的4种方式

以数据库连接为例,测试bean注入的几种方式JdbcProperties文件:jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/xxxjdbc.username=rootjdbc.password=xxx@Configuration//声明一个类是一个java配置类, 相当于xml配置文件@EnableConfigurationProperties(JdbcProperties.clas

2020-11-28 10:28:44 3149 3

原创 Spring

Spring 特点: 1.轻量级:从大小与开销两方面而言都是经典的, 完整的spring框架可以在一个大小只有1M多的JAR文件里发布, 并且Spring所需的处理开销也是微不足道的, 此外, Spring是非侵入性 的, 典型的, Spring应用中的对象不依赖于Spring的特定类 2.控制反转:Spring通过一种称作控制反转IOC的技术促进了低耦合,当应用了IOC,一个对象依赖的其他对象会通过被动的方式传递进来, 而不是这个对象自己创建或查找依赖对象 3.面向切.

2020-11-23 19:05:47 198

原创 数据库连接配置

oracle:jdbc.driver=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcljdbc.username=rootjdbc.password=rootmysql:jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/jdbc.username=rootjdbc.password=123..

2020-11-19 16:20:53 230

原创 Dubbo与Zookeeper笔记1

/**dubborpc:远程过程调用http:优势:性能高, 稳定性, 门槛低入门开发步骤:1.搭建注册中心2.搭建监控中心:前后的分离项目 前端 工程:dubbo-admin-ui nodejs +vuejs npm install npm start 访问 地址 :http://localhost:8081 后台服务:dubbo-admin-server.springboot工程 配置:需要配置zook

2020-11-18 19:39:32 110

原创 SpringMVC常用注解笔记

/**SpringMVC 是什么springMVC是一种基于java实现MVC设计模型的请求驱动类型的轻量级 Web框架, 它通过一套注解, 让一个简单的java类称为处理请求的控制器, 而无须实现任何接口, 同时它还支持restful编程风格的请求1.清晰的角色划分 前段控制器(dispatcherServlet) 请求到处理器映射(HandlerMapping) 处理器适配器(HandlerAdapter) 视图解析器(ViewResolver) 处理器或

2020-11-18 19:39:02 122

原创 SpringBoot与Docker

/**spring的自动配置原理这个场景 SpringBoot帮我们配置了什么?能不能修改,修改哪些配置,能不能扩展?xxxAutoConfiguration:帮我们给容器中自动配置组件,xxxProperties:配置类封装配置文件的内容这是显示欢迎自动配置原理SpringMvc自动配置=SpringBoot自动配置好了SpringMvc·自动配置了ViewResolver(视图解析器:根据方法的返回值得到视图对象,视图对象决定如何渲染(转发?重定向))·Conten

2020-11-18 19:37:54 218

原创 Redis笔记

2.Memcached(缓存) + MYSQL+垂直拆分优化数据库的结构和索引 ,通过文件缓存来缓解数据库压力, 通过文件缓存来缓解数据库压力,当访问量继续增大时,大量的小文件缓存也产生 比较高 的IO压力3.Mysql主从读写分离4.分表分库, +水平拆分+ mysql集群在Memcached 的高速缓存, mysql主从复制,5.Mysql的扩展性瓶颈mysql数据库 存储一些大文本字段, 导致数据库表非常的大, 在做数据库恢复的时候会非常的慢, 不容易快速恢复数据库,关系型数据.

2020-11-18 19:36:54 132 1

原创 linux服务管理以及安装mysql

*服务管理服务本质就是进程, 但是是运行在后台的, 通常都会监听某个端口, 等待其他程序的请求, 比如(mysql,sshd防火墙等)因此, 我们有称为守护线程, 是linux中非常重要的知识点service管理指令:service 服务名 【 start|stop|restart|reload|status】 ,在CentOS7.0后 不再使用service,而是systemctl案例: 查看当前防火墙的状况, 关闭防火墙和重启防火墙细节讨论:1.关闭或者启用防火墙后, 立即生效, 【te

2020-11-18 19:36:14 52

原创 linux目录结构

linux 目录结构/etc 所有的 系统管理 所需的配置文件和子目录/home 存放普通用户 的主目录 , 在linux 中每个用户都有一个自己的目录,/lib: 系统开机所需要最基本的动态连接共享库, 其/ lost+found: 这个目录一帮情况下是空的, 在系统非法关机后, 这里就存放了一些文件/media:linux 系统中会自动识别一些设备, u盘,等, 当识别后, linux会把识别的设备挂载到这个目录下/mnt: 系统提供该目录是为了让用户临时挂载别的 文件系统图, 我们可以将

2020-11-18 19:35:34 53

原创 linux进程的指令

查看进程的指令: ps -aux | more*USER: 用户名*PID: 进程id*CPU: 占 用cpu*MEM: 占用内存*VSZ: 使 用的虚拟内存*RSS: 使用物理内存TTY: 使用的终端*STAT: 进程的状态 s:休眠 r: 运行START: 启动时间*TIME: 占用cpu总时间*COMMAND: 进程执行 的命令行进程 :ps -aux |grep sshd

2020-11-18 19:35:06 73

原创 volatile关键字

volatile :当多个线程进行操作共享数据是, 可以保证内存中的数据可见性相较于 synchronized 是一种轻量级的同步策略注意:1.volatile 不具备 “互斥性”*2.volatile 不能保证变量的"原子性"serialNumber=0;Hashtable线程安全, 效率非常低, 多线程时,只有一个线程会进入, 进入时 会锁整个表,有时会产生复合操作时 的安全问题复合操作:"若不存在 则添加, 若存在 则删除 "*3.ConcurrentHashMap 锁 分段.

2020-11-18 19:34:19 80

原创 linux 初学

问题: 命令行 vim(文件名)》 正常模式(i)》编辑 模式》 (esc)回到命令行模式* vim命令行 》 输入 vim 文件名 进入正常模式* 输入 i进入编辑模式, 按 esc退出编辑模式, 输入1. :wq 为写退出 ,2. :q为退出, 3.:q! 为强制退出**快捷键使用 案例1) 拷贝当前行 yy , 拷贝当前行向下的5行 5yy,并粘贴。2) 删除当前行 dd , 删除当前行向下的5行 5dd3) 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输..

2020-11-14 19:19:21 76

转载 数组在jvm中的存储

* ###java虚拟机当中 内存划分* <p>* 区域名称 作用* 寄存器 给cpu使用,* 本地方法栈 JVM 调用操作系统时 使用的* 方法区 存储可以运行的 class文件,(常量池,静态域)* 方法栈(stack) 方法运行时使用的 内存, 比如main方法运行, 会进入栈* 堆 存储* 程序执行流程:* 1.main方法进入方法栈中执行* 2.创建数组,jvm会在堆内存中开辟.

2020-11-12 23:36:25 1173

空空如也

空空如也

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

TA关注的人

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