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

原创 token放在cookie中和放在请求头中的区别

token放在cookie中 和 放在请求 头中的区别cookie中: 防止xss攻击,但是导致所有请求都会携带token请求头中: 会有xss风险,而且前端需要保存token并在每次请求的时候携带…好处是可以控制哪些请求携带,哪些不需要携带...

2020-07-30 15:45:51 3442

原创 【无标题】 回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数。

2021-11-18 22:04:36 241

原创 整数反转j

public static void main(String[] args) {// int x = 1534236469;//// int res = reverse(x);// System.out.println(res); } public static int getReverse(int x) { int result = 0; // 防止溢出 if (x > Int...

2021-11-18 22:02:29 154

原创 最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。// 官方解法 public String guanFang(String prefix, String str) { //获取两个字符串最小的长度

2021-11-18 22:00:19 109

原创 罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。.

2021-11-18 21:57:31 85

原创 两数之和啊

public static void main(String[] args) {// int[] nums = {2, 7, 11, 15};// int target = 9; int []nums = {3, 2, 4}; int target = 6; int[] indexs = twoSum(nums, target); System.out.println(Arrays.toString(in.

2021-11-18 21:55:30 170

原创 有效的括号

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 public static void main(String[] args) { String s = "{[)}"; //s = "{}[]()"; boolean b = isValid(s); System.out.println(b); .

2021-11-18 21:54:03 53

原创 springboot解决跨域请求的方案(CORS)

SpringBoot解决跨域问题SpringBoot可以基于Cors解决跨域问题,Cors是一种机制,告诉我们的后台,哪边(origin )来的请求可以访问服务器的数据。全局配置配置实例如下:@Configurationpublic class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { regist

2020-09-01 15:38:50 218 1

原创 ********

BeanUtilesBeanUtiles 的copyProperties(目标对象,现有对象)如果要进行深度拷贝,需要对象实现Serializable接口,多层克隆时,引用类型均要实现Serializable接口。

2020-08-18 14:16:49 93

原创 数据优化总结 库表设计和慢SQL问题

本文将就以下两个问题进行展开:库表设计慢 SQL 问题一、库表设计1、引擎选择mysql 常用的存储引擎包括 MYISAM、Innodb 和 Memory,其中各自的特点如下:1)MYISAM : 全表锁,拥有较高的执行速度,一个写请求请阻塞另外相同表格的所有读写请求,并发性能差,占用空间相对较小,mysql 5.5 及以下仅 MYISAM 支持全文索引,不支持事务。2)Innodb:行级锁(SQL 都走索引查询),并发能力相对强,占用空间是 MYISAM 的 2.5 倍,不支持全文索引(5.

2020-08-18 14:12:14 171

原创 git push github失败,提示:Failed to connect to git.xxx.xxxx.com port 443: Timed out

解决方法:在github项目在本地的根目录下打开git命令行,执行下面的命令:git config --global --unset http.proxy再去PULL或者PUSH代码的时候接可以了

2020-08-17 11:12:39 813

原创 域 (其实就是一个容器)

- ServletContext域:一个WEB应用(项目)对应一个ServletContext,这个对象中保存的数据正在整个WEB项目中都有效;创建:服务器启动的时候;销毁:服务器关闭或项目移除后;- HttpSession:一次会话给客户端(浏览器)创建一个session。这个对象中保存的数据,一次会话(多次请求)内数据有效;创建:服务器第一次调用getSession()的时候;销毁:服务器非正常关闭(正常关闭:Session被序列化);Session过期了:默认存活时间30分钟

2020-08-04 10:13:57 192

原创 cookie 和 session

cookie1、Cookie技术:在浏览器端保存小量信息的技术;2、Cookie数据的产生:创建:web服务器创建,发送给浏览器保存:浏览器端存储(硬盘上)cookie的基本API:创建: Cookie cookie = new Cookie(name,value);获取name值: String name = cookie.getName();获取value值: Strign name = cookie.getValue();发送cookie: response.addC

2020-08-04 10:07:57 115

原创 Redis

Redis与MemcacheRedis和Memcache是目前非常流行的两种NoSql数据库,都可以用于服务端缓存。两者有怎样的差异呢?从实现来看:redis:单线程Memcache:多线程从存储方式来看:redis:支持数据持久化和主从备份,数据更安全Memcache:数据存于内存,没有持久化功能从功能来看:redis:除了基本的k-v 结构外,支持多种其它复杂结构、事务等高级功能Memcache:只支持基本k-v 结构从可用性看:redis:支持主从备份、.

2020-07-28 15:57:42 106

原创 RabbitMQ详细介绍及面试高频问题

RabbitMQRabbitMQ是基于AMQP的一款消息管理系统AMQP和JMS两者间的区别和联系:JMS是定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交互的格式JMS限定了必须使用Java语言;AMQP只是协议,不规定实现方式,因此是跨语言的。JMS规定了两种消息模型;而AMQP的消息模型更加丰富常见MQ产品 :ActiveMQ:基于JMS, ApacheRabbitMQ:基于AMQP协议,erlang语言开发,稳定性好RocketMQ:基于JMS,阿里

2020-07-27 16:20:19 185

原创 2020-07-23

Ioc容器:底层 就是把创建对象的权利交给Spring(工厂模式)利用空参有参构造创建。DI:ioc的实现,利用。xxxset方法进行注入属性。

2020-07-23 08:35:54 91

原创 以流的方式读取PDF返回给前端

response.setContentType("application/pdf"); FileInputStream in; OutputStream out; //路径 String path = "I:\\622.pdf"; try { in = new FileInputStream(new File(path)); out = response.getOutpu...

2020-07-14 16:25:10 2327

原创 MyBatis-Plus 最简单的使用方法

MyBatisPlusMyBatisPlus可以节省我们大量工作时间,所有的CRUD代码它都可以自动化完成!JPA ,tk-mapper,MyBatisPlus 都是提高开发效率MyBatis 本来就是简化 JDBC 操作的. 而MyBatis-Plus 是简化 Mybatis配置需要依赖 : <!--springboot--> <parent> <groupId>org.springframework.boot</grou

2020-06-06 16:31:56 371 1

原创 堆的新生代和老年代

新生代用来存放新创建的对象, 由于创建对象比较频繁所以新生代会频繁触发垃圾回收机制新生代里分为三个区: Eden(新创建的对象主要在Eden区域)、ServivorFrom、ServivorTo当Eden区 内存不够的时候 就会触发一次 MinorGC(复制算法的垃圾回收)虚拟机每次使用新生代中的Eden和另两个中的其中一个,每次GC的时候,都会使用复制算法的GC, 把前两个区域存活的对象一次性复制到 另一块区域,最后清理掉前两块区域. 将此时存活下来的对象年龄设置为1,以后这些对象每在

2020-06-06 12:36:50 150

原创 事务的传播行为

支持当前事务的情况:1.如果当前存在事务,就加入该事务. 如果当前没有事务,则创建一个新的事务2.如果当前存在事务,就加入该事务. 如果当前没有事务,则以非事务的方式运行3.如果当前存在事务,就加入该事务. 如果当前没有事务,则抛出异常不支持当前事务的情况:1.创建一个新的事务,如果当前存在事务,则把当前事务挂起2.以非事务的方式运行,如果当前存在事务,则把当前事务挂起3.以非事务的方式运行,如果当前存在事务,则抛出异常...

2020-05-13 16:03:15 135

原创 Java基础知识

八大基本类型: byte short int Long float double char boolen 类里定义的变量叫 : 成员变量方法里面定义的变量叫 : 局部变量this关键字:this关键字,作用是用来记录当前方法是被哪个对象调用的,哪个对象调用方法,this就记录哪个对象.可以解决:成员变量和局部变量重名的方法super关键字:标识父类内容的关键字,也可以区分 子父类重名的成员变量构造里面默认有个 super()Static关键字:static关键字: 它是一个

2020-05-13 15:52:56 101

原创 JVM 关键字 内存图

JVMjava虚拟机分为五个区域静态的资源在方法区加载类的时候加载非静态的 在new对象的时候加载栈内存: 用来运行java中的方法栈中数据的特点 : 因为是方法,所以方法中的变量不赋值不能使用用来运行java中的方法, 保存堆内存new出来的变量数据堆内存 :保存new 出来的各种对象对象所属于类的所有成员变量 随着对象的出现在堆内存中初始化加载堆中数据的特点 : 不赋值...

2020-04-11 18:19:57 178

原创 SpringDataElasticsearch的API用法

SpringDataElasticsearch需要注意的是,SpringDataElasticsearch底层使用的不是Elasticsearch提供的RestHighLevelClient,而是TransportClient,并不采用Http协议通信,而是访问elasticsearch对外开放的tcp端口,我们之前集群配置中,设置的分别是:9301,9302,9303...

2020-04-02 16:23:52 390

原创 Kibana操作Elasticsearch 的增删改查

Lucene传统的数据库可以来存储数据进行搜索,但是数据库每次查找是从上到下全表逐行扫描执行的效率慢,而且无法存储海量数据, 如果分库分表这样会增加业务的复杂度 增加学习成本Lucene就是所有搜索引擎的最底层 利用了倒排索引什么是倒排索引例如数据库有一张表创建文档列表::::::::::::::::对这张表里的数据按照id 进行索引存储,给每一条原始数据创建文档编号 形成一个文档列表...

2020-03-30 14:54:22 288

原创 Docker基本常用命令

DockerUbuntu中安装:wget -qO- https://get.docker.com/ | shCentos中安装:docker在线安装 yum -y install docker-ce查看版本 docker -v查看docker服务的概要信息:docker info启动docker:systemctl start docker停止docker:systemctl s...

2020-03-24 17:54:32 133

原创 最全Linux常用的命令以及解释

Linuxlinux只有一个盘 // 盘下常用的目录bin : 存放二进制文件etc: 系统相关的配置文件 网卡配置 防火墙配置 环境配置等home: 非管理员用户登录默认进入homeroot: 管理员用户登录默认进的目录usr: 用户相关的,一般安装软件都安装在usr相关命令:pwd : 显示当前所在位置cd : 切换cd /home 绝对路径,不管在什么位...

2020-03-20 01:34:52 210

原创 分布式事务和spring内置的事务

分布式事务单个事务的分布式系统因为微服务用feign远程调用不同服务的接口, 还使用了rest风格如果抛出异常就返回一个状态码, 因为feign的内部实现了 如果发现抛出的异常状态码不是200 左右他就会自动抛出异常,把异常从一个微服务转到另一个微服务.(异常传过来了 事务的特性就传过来了)上面的说明只能是单个事务. . 如果遇到多个事务上面的方案就处理不了了…超过两个事物的分布式系统...

2020-03-16 21:22:39 313 1

原创 Object类System类Date类DateFormat类StringBuilder类

Object类 Object所有类的父类 基类 Object类中 toString方法 返回该对象的字符串 就是 对象的类型@内存地址 如果不希望使用默认的内容 可以重写 equals方法 obiect类中 默认进行 == 运算符比较 只要不是同一个对象 结果必然为flase 如果想进行对象内容的比较 则可以覆盖重写equals方法jdk1...

2020-03-15 23:15:52 120

原创 Hystrix的线程隔离和熔断 解决雪崩问题

Hystix,英文意思是豪猪,全身是刺,看起来就不好惹,是一种保护机制。Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。就是当服务没有响应的时候,能快速给用户响应雪崩问题微服务中,服务间调用关系错综复杂,一个请求,可能需要调用多个微服务接口才能实现,多个微服务可能还会调用别的服务,会形成非常复杂的调用链路.如果一个服务出现了问题,请求...

2020-03-13 18:23:21 548

原创 JS基础语法和JS对象

JS基础语法第一部分:JavaScript介绍 1、js组成 由ECMAScript(基本语法)、DOM(文档对象模型)、BOM(浏览器对象模型)组成 2、作用:可以改变html中标签的内容,改变标签的样式,验证输入。第二部分:js代码书写 1、页面中直接书写 (内嵌式写法) <script>{ ...

2020-03-12 22:34:39 202

原创 分布式锁(解决库存超买超卖的问题)

解决库存超买超卖的问题单个应用解决线程安全问题可以加synchronized 关键字 : 其实就是一个标记,谁拿到标记才可以执行方法,才有cpu的运行资格.但是分布式的情况下 synchronized 关键字锁不住. 所以需要使用分布式锁(乐观和悲观)所以分布式系统下利用的是悲观锁 和 乐观锁一般企业直接用悲观锁就可以, 因为像京东淘宝这样高并发公司 中国还是少数的.分布式锁:保证在分布...

2020-03-12 15:02:25 2066

空空如也

空空如也

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

TA关注的人

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