自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 【面试】怪兽充电一面

hashmap1.7:jdk1.7时扩容时会执行transfer()方法,创建一个新的Entry空数组,长度是原数组的2倍,遍历原Entry数组,重新reHash到新的数组中,因为长度改变,Hsah的规则也会改变。总的来说,MVCC是现代数据库系统中常用的一种技术,它在提高并发性能的同时,也需要合理管理资源和考虑与其他数据库特性的协同工作。总的来说,Redis通过一系列的设计和策略来保证分布式环境下的数据一致性,这些策略包括一致性哈希算法、不同的数据一致性模型以及针对特定业务场景的同步策略。

2024-03-13 20:04:52 774 2

原创 【面试】携程一面

综上所述,优化接口的TP99性能是一个系统性工程,需要结合具体的业务场景和技术栈,持续监测、分析和调整。一级缓存是在SqlSession层面实现的,这意味着在同一个SqlSession中执行相同的查询时,如果缓存中有数据,则直接从缓存中获取,而不会再次访问数据库。若缓存的数据更新不频繁,且缓存刷新的整个流程耗时较少的情况下,则可以采用基于 Redis、zookeeper 等分布式中间件的分布式互斥锁,或者本地互斥锁以保证仅少量的请求能请求数据库并重新构建缓存,其余线程则在锁释放后能访问到新缓存。

2024-03-12 20:08:56 545

原创 【面试】赢时胜和花旗

一、赢时胜1、springmvc的底层DispatcherServlet->HandlerMaping->Handler->HandlerAda2、spring注入的方式,spring循环依赖,注解是否解决了循环依赖3、nginx有配置过吗,底层原理4、你们是怎么上线的,上线的一个流程5、war包和jar包的区别,java jar包启动命令,java -jar有了解吗二、花旗1、mybatis#和$的区别2、mybatis二级缓存3、怎么让一个集合只读,用过final关

2022-04-27 16:09:16 314

原创 ElasticSearch概述(未完待续)

ES基础

2021-12-23 13:52:05 1013

转载 【Java】extends和super泛型限定符

请解释extends 和super 泛型限定符-上界不存下界不取extends上限通配符,用来限制类型的上限,只能传入本类和子类,add方法受阻,可以从一个数据类型里获取数据;super下限通配符,用来限制类型的下限,只能传入本类和父类,get方法受阻,可以把对象写入一个数据结构里;在java泛型中,? 表示通配符,代表未知类型,< ? extends Object>表示上边界限...

2019-08-22 09:05:56 634

转载 【Spring】Spring AOP

AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应...

2019-06-16 14:23:49 204

转载 Java静态代理和动态代理

Java静态代理和动态代理一、概述代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象。如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目标对象功能的特点也为多人所用。二、图形描述三、静态代理静态代理的实现比较简单,代理类通过实现与目标对象相同的接口,并在类中维护一个代理对象。通过构造器塞入目标对象,赋值给代理...

2019-06-16 10:00:54 181

原创 【Linux】Linux之crond任务调度

Linux之crond任务调度1. 原理示意图crond 进行定时任务的设置。2.概述任务调度:是指系统在某个时间指定特定的命令或者程序。任务调度分类:(1)系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。(2)个别用户工作:个别用户可能希望执行某些程序,比如对 MySQL数据库的备份。3. 基本语法crontab [选项]常用选项:-a 编辑crontab定时任...

2019-05-20 21:46:01 193

原创 【Linux】在Linux下安装MySQL史上最详细图文教程

CentOS 6.8下编译安装MySQL 5.6.14概述:为了更深入的学习linux,我找了很多的教程,都没有一个很详细的浅显易懂的教程,无奈只好找视频,然后自己总结的教程,本人亲身实践过的,只要耐心安装,一定可以安装成功。在安装之前我们要先联网,使用如下命令测试网络。显示如下证明网络可用。快捷键ctrl+c退出。一、卸载旧版本(1)使用下面的命令检查是否安装有MySQL Server...

2019-05-19 16:40:19 586 2

原创 【linux】在Linux下安装VMTools工具

为了方便我们从windows复制粘贴到linux方便,我们首先来安装vmtools工具。(1)点击虚拟机。(2)选择安装vmtools工具。(3)稍等片刻,会弹出一个窗口,里面有一个vmtools的压缩包,以.tar.gz结尾。将其复制到/opt目录下解压。(解压位置看个人需求)(4)解压命令。(5)解压完成后在/opt目录下产生一个文件夹,显示如下,然后执行命令。(6)进入...

2019-05-19 15:15:09 8649

转载 【linux】解决在windows中使用ftp上传txt文件,使用xshell5查看时乱码的问题

最近遇到.txt文件在windows下中文显示正常,然后我传入到Linux下时,中文显示乱码,英文字符和数字显示正常。如下图是在windows下的显示:然而在linux下显示如下(修改了ftp和xshell5的编码格式都没用,查看了linux中的编码,好像也是utf8):解决方法:使用命令iconv对文件内容编码进行转换。例如我有一个文件"pos.txt"在windows下打开正常,而在...

2019-05-16 20:53:29 1149

原创 【Spring】Spring复习之事务控制

Spring中的事务控制1. Spring事务控制我们要明确的第一:JavaEE体系进行分层开发,事务处理位于业务层,Spring 提供了分层设计业务层的事务处理解决方案。第二:Spring 框架为我们提供了一组事务控制的接口。在spring-tx-4.2.3.RELEASE.jar 中。第三:Spring 的事务控制都是基于AOP的,它既可以使用编程的方式实现,也可以使用配置的方式实现。...

2019-05-15 21:17:06 238 2

转载 【Spring】Spring中@Resource和@Autowired关系

原文地址:https://www.cnblogs.com/think-in-java/p/5474740.htmlSpring注解@Resource和@Autowired区别对比@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入...

2019-05-15 11:16:27 130

原创 【Spring】Spring复习之JDBC

一、Spring中的JdbcTemplate1.1 JdbcTemplate概述它是Spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装。Spring框架为我们提供了很多的操作类模板。操作关系型数据库的:JdbcTemplateHibernateTemplate操作nosql数据库的:RedisTemplate操作消息队列的:JmsTemplate...

2019-05-14 21:45:46 129

原创 【Spring】Spring复习之AOP

一、AOP的相关概念1.1 AOP概述1.1.1 什么是AOP?AOP:全称是Aspect Oriented Programming 即:面向切面编程。在软件业,AOP通过预编译的方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架的一个重要内容,是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各个部分进行隔离,从而...

2019-05-13 21:47:41 283

原创 【Spring】Spring复习之基于注解的IOC和JUnit整合

一、基于注解的IOC配置常用注解1. 用于创建对象的(相当于<bean id="" class="’>)@Component作用:把资源让Spring 来管理。相当于在XML中配置一个bean。属性:value:指定bean的id。如果不指定value属性,默认bean 的id 是当前类的类名,首字母小写。@Controller @Service @Reposi...

2019-05-12 16:15:28 191

原创 【Spring】Spring复习之基础和IOC

一、Spring概述1. Spring是什么?Spring是分层的Java SE/EE应用 full-stack 轻量级开发框架,以IOC(Inverse Of Course:控制反转)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众...

2019-05-10 23:21:29 397

原创 【Spring】Spring经典面试题

Spring概述1. 什么是Spring?Spring是个Java企业级应用的开源开发框架。Spring主要用来开发java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。2. 使用Spring框架的好处是什么?轻量:Spring是轻量的,基本的版本大约2MB。控制反转:Spring...

2019-05-10 15:12:56 2084

原创 【JVM】浅析java内存模型——JMM(Java Memory Model)

在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步?在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的。线程之间通过共享程序公共的状态,通过读-写内存中公共状态的方式来进行隐式的通信。同步指的是程序在控制多个线程之间执行程序的相对顺序的机制,在共享内存模型中,同步是显式的,程序员必须显式指定某个方法/代码块需要在多线程之间互斥执行。在...

2019-05-08 21:21:45 232

原创 【JVM】Java垃圾回收机制(GC)详解

Java垃圾回收机制(GC)详解一、为什么需要垃圾回收?如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配不回收,但是事实并非如此。所以,垃圾回收是必须的。二、哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径所使用的对象。那么,如何找到这些对象?引用...

2019-05-08 17:23:32 747

原创 【Mybatis】在idea中使用Mybatis的逆向工程

数据库表如下:导入jar包。File->Project Structure->Modules创建如下图所示的目录:generatorConfig.xml如下:注意修改数据库名字以及用户名和密码。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration ...

2019-04-22 09:18:14 488 2

原创 【MySQL】关于MySQL索引的底层实现的问题解读

1、为什么不用Hash表作为索引?Hash表进行范围查询比较困难,如select * from sanguo where id >10;2、为什么不用平衡二叉树作为索引?虽然平衡二叉树支持范围查询,但是这这种数据结构要范围查找要往回找,即回溯到父结点,而B+树的 叶子结点的指针的效率则更高。3、为什么选择B树的一个结点存多个元素的结构?因为数据库的索引是存储在文件中的,而读取文件内...

2019-04-17 21:13:11 107

原创 【LeetCode】N皇后问题之Java解法

N皇后问题n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [ [".Q..", // 解法 1 "...Q"...

2019-04-14 16:15:19 642

原创 【idea】控制台乱码

IDEA控制台乱码解决解决办法:打开Intellij的安装的bin目录(D:\Program Files\JetBrains\IntelliJ IDEA 14.0\bin ),找到上图的两个文件(根据你的系统是32位或64位选择其中一个配置文件),在配置文件中添加:-Dfile.encoding=UTF-8配置项目编码及IDE编码进入settings,选择File Enco...

2019-04-11 20:23:16 106

原创 【JVM】简单的结构图

2019-04-07 16:51:11 178

原创 【Linux】Linux 自有服务之ssh服务

ssh服务ssh(secure shell,安全外壳协议),该协议有两个常用的作用:远程连接协议,远程文件传输协议。协议使用端口号:默认为22。可以通过修改ssh服务的配置文件进行修改:/etc/ssh/ssh_config注意事项:(防火墙)①端口范围:0-65535。②不能使用已占用端口。服务启动/停止/重启:#service ssh start/stop/restart#...

2019-03-31 11:40:59 264

原创 【Linux】Linux自有服务之网络设置

Linux网络设置首先要直到网卡配置文件位置:/etc/sysconfig/network-scripts在目录中网卡的配置文件命名格式:ifcfg-网卡名称查看网卡ifcfg-eth0的详细信息:重启网卡:方法1:#service network restart方法二:#/etc/init.d/network restart在有的分支可能没有service命令来快速操作服务,...

2019-03-31 10:21:37 878

原创 【Linux】Linux自有服务之用户和用户组管理

Linux自有服务自有服务,即不需要用户独立去安装的软件服务,而是当系统安装好之后就可以直接使用的服务(内置)。一、运行模式运行模式也可以称之为运行级别。在Linux中存在一个进程:init(initialize,初始化),进程id是1。查看进程:#ps -ef|grep init该进程存在一个对应的配置文件:inittab(系统运行级别配置文件),位置/etc/initab文件的...

2019-03-30 22:11:38 843

原创 【Linux】Vim编辑器

一、Vim三种模式Vim是一款文本编辑器。存在三种模式:命令模式、编辑模式(输入模式)、末行模式(尾行模式)。1. 命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等等)【打开文件之后默认进入的模式】;2. 编辑模式:在该模式下可以对文件的内容进行编辑;3. 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮...

2019-03-30 17:29:54 238

原创 【Maven】Maven仓库配置

一、本地仓库配置如果不进行配置,从中央仓库下载的包,一般会保存到C:\Users\Administrator.m2\repository路径下。找到我们maven的安装位置。打开conf中的settings.xml配置文件。修改配置文件。本地仓库配置完成。我们还可以在运行时指定本地仓库位置。二、中央仓库配置当我们构建一个Maven项目时,首先检查pom.xml文件以确定依赖...

2019-03-30 12:42:47 10117

原创 【Maven】Maven安装配置教程

Maven安装配置教程下载地址http://maven.apache.org/download.cgi下载后,解压压缩包。解压后:配置Maven。在命令行中(win+R,输入cmd打开)输入:mvn -v显示如下,说明配置成功。...

2019-03-30 11:22:25 145

原创 【Spring】Spring事务配置

Spring事务配置首先本文主要讲Spring配置事务的三种方式,目录如下:一、Xml配置方法二、Xml和注解配置三、纯注解配置首先附上需要的一些Java类:/*学生实体类*/public class Student implements Serializable { private Integer id; private String name; pri...

2019-03-30 08:51:00 455

原创 【Linux】Linux基本命令

一、指令与选项1.定义:在Linux终端中输入的内容就称之为指令。2.linux通用的格式:#指令主体 [选项] [操作对象]注:一个指令可以包含多个选项。操作对象也可以是多个。例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中,"买东西"是指令的主体,买的水和纸是操作的对象,农夫山泉、清风是操作的选项。二、基础命令1.ls(list)指令(1) 用法1...

2019-03-30 07:43:59 866

原创 【Linux】Linux进阶指令

Linux进阶指令1.df指令作用:查看磁盘的空间。语法:#df -h -h:表示以可读性较高的形式展示大小。2.free指令作用:查看内存使用情况。语法:#free -m -m表示以mb为单位查看。真实可用内存1662mb。Swap:用于临时内存,当系统真实内存不够用的时候可以使用磁盘空间来充当内存。效率较低。3.head指令作用:查看一个文件的前n行,如果不指定...

2019-03-29 23:38:31 837

原创 【Java】Java中的锁

Java中的锁公平锁/非公平锁可重入锁独享锁/共享锁互斥锁/读写锁乐观锁/悲观锁分段锁偏向锁/轻量级锁/重量级锁自旋锁一、公平锁/非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁。**非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程先获取到锁。**有时候,会造成优先级反转或者饥饿现象。对于Java“ReeddtrantLock”...

2019-03-20 08:27:32 150

原创 【数据结构】栈和队列的异同

栈(Stack)和队列(Queue)是两种操作受限的线性表。线性表:线性表是一种线性结构,它是一个含有n>=0和结点的有限序列,同一个线性表中的数据元素类型相同并且满足“一对一”的逻辑关系。“一对一”的逻辑关系,指的是除了表头和表尾的结点外,其余每个结点有且仅有一个前驱和一个后继结点。1.栈和队列的相同点:(1)都是线性结构。(2)插入操作都是限定在表尾进行。(栈的栈顶,队列的队尾...

2019-03-20 07:58:43 18838 1

原创 【Java】多线程基础

一、进程和线程1.进程进程是具有一定独立功能的程序关于某个数据集和上的一次运行活动,是系统进行资源分配和调度的一个独立单位。 进程可以理解为受操作系统管理的基本运行单元。2.线程线程是进程的一个实体,是CPU调度和分配的基本单位,但是他是比进程更小的能独立运行的基本单位,线程自己基本上可以不拥有系统资源,只拥有一点在再运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和...

2019-03-16 22:45:18 156

原创 【计算机网络】HTTP以及HTTPS协议

一、HTTP1.HTTP协议基本概念(1)HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。(2)HTTP协议是基于TCP/IP通信协议来传输数据(HTML文件,图片文件,查询结果等)(3)HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就...

2019-03-14 22:41:11 430

原创 【Java】并发编程:volatile关键字

在Java5之前,volatile关键字在程序中使用往往会导致一些出人意料的结果。在Java5之后,volatile关键字才重获生机。一.内存模型的相关概念大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而指令执行过程中,势必会涉及到数据的读取和写入。由于程序运行中的临时数据是存放在(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的...

2019-03-14 14:50:04 142

原创 【JVM】JVM加载class文件的原理机制

一、JVM简介JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是与平台的 无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,J...

2019-03-13 19:12:01 22435 1

linux下的mysql安装包.zip

linux下MySQL的安装包,版本mysql-5.6.14.tar.gz,本博客有详细的安装教程,欢迎参考。

2019-05-19

空空如也

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

TA关注的人

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