- 博客(81)
- 收藏
- 关注
原创 es优化实践(es升级带来的大坑)->问题与痛点->优化过程->原理分析->最佳实践
这里分享一个ES2.X升级到ES5.X带来的天坑问题,从问题与痛点,到优化过程,到原理分析,到最佳实践
2024-04-29 11:15:19 437
原创 【项目亮点】大厂中分布式事务的最佳实践 问题产生->难点与权衡(偏爱Saga)->解决方案
不断有同学问我大厂中实践分布式事务的问题,这里从**分布式事务的产生**,到**强弱一致性与性能的权衡**,再到最终**落地的解决方案**,再到**实际的代码实现**,再到我工作中实际**使用SAGA模式的应用案例**,一篇文章讲清楚.
2024-04-19 09:54:13 789
原创 【面试亮点】线上GC问题排查&止损&解决 (heap space OutOfMemory排查&止损&解决)
许多同学总和我抱怨说面试的时候没有线上实际排查解决gc问题的经验,我这里分享我团队的一次比较好的从 **发现问题->及时止损->排查问题->修复问题->复盘** 全流程的实践经验,希望能帮到大家.
2024-04-15 10:45:46 528
原创 Mysql事务四个隔离级别通俗理解(精品)
https://www.cnblogs.com/ubuntu1/p/8999403.html事务的四种隔离级别数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read uncommitted读未提交,顾名思义,就是一个事务可以读取另一个未提交事务的数据。事例:老板要给程序员发工资,
2021-07-30 22:22:01 426
原创 homebrew国内安装
自动脚本(全部国内地址)(在终端中复制粘贴回车下面脚本)苹果电脑 常规安装脚本(推荐 完全体 几分钟安装完成):/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”苹果电脑 极速安装脚本(精简版 几秒钟安装完成):/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)
2021-07-08 12:05:46 415
原创 国内安装homebrew
Mac安装Homebrew国内安装(可用):/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”以上方法来自:https://zhuanlan.zhihu.com/p/111014448如果采用了上面改的方法,就不用看下面的官方方法了。官方的方法可能需要FQ或者安装完成之后的权限问题。...
2021-07-08 11:50:55 226
原创 华为暑期实习一面凉经
今天面试华为挂了,经验如下我投的是数据存储与机器视觉产品线面试我的面试官人很nice,有问题一步一步的引导我,但我还是挂了。具体经验如下:1.开始让我做了个3分钟的自我介绍,我建议大家这个好好准备,多说点,因为所有面试基本是必问。我介绍的过于仓促,表现的很不自信,开局气势就弱了。后面也畏首畏尾的,一点也不大方。很不好。建议大家好好准备,开个好头后面可以自信一点。2。然后面试官投屏打开了我笔试的时候做的题,第一道是并查集,100分,第二道是实现一个任务队列以及应用,第三道题忘了。第一道题没做对,面试官
2021-04-13 19:00:49 2085
原创 SimpleDateFormat设置日期格式
SimpleDateFormat设置日期格式public class Main { public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException, ParseException { SimpleDateFormat simpleDateFormat = new
2021-02-16 16:13:40 469
原创 org.apache.commons.io.IOUtils 的用法(神器,再也不用写冗余代码了)
首先,引入dependency<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>实现文件复制:import org.apache.commo
2020-12-17 16:59:22 18392 1
原创 文件下载时候:java.lang.IllegalStateException: getOutputStream() has already been called for this response
使用ModelAndView或者别的方式返回页面的时候,底层都调用了response.getWriter(),这时候你写getOutputStream就会冲突,解决方法很简单,只需要把返回值变成void就行了。注意!把文件下载的函数返回值成void就行了!...
2020-12-15 14:07:35 391
原创 Session原理
同一个浏览器(客户端),每次发送请求时候httpsession都是同一个(因为每次都是发送这个浏览器的信息),所以即使不同的controller中的方法,只要是同一个浏览器发送的请求,那么不同的方法传来的session都是同一个!...
2020-12-10 13:49:24 199
原创 maven如何强制使用阿里云镜像
第一步:修改 maven 根目录下的 conf 文件夹中的 setting.xml 文件,在 mirrors 节点上,添加内容如下:<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</
2020-12-04 20:54:32 476
原创 UML统一建模语言学习
UML概述UML能帮助我们做什么?我们在进行项目的时候,通过使用UML的面向对象图的方式来更明确,清晰的表达项目中的架设思想、项目结构、执行顺序等一些逻辑思维。UML介绍1997年,OMG组织(Object Management Group对象管理组织)发布了统一建模语言(Unified Modeling Language,UML)。UML是一种编制软蓝图的标准化语言,他的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。UML提出了一套IT专业人员期待多年的统一的标准建模符号。通
2020-11-04 10:25:44 528 1
原创 Git教程
为什么要学习Git?无论是单人开发还是多人开发,都必须要设计版本管理.我们今天开发到了A版本,但是第二天我们已经把A改的面目全非了,这时候出了错,或者改了需求,我们想要退回A版本怎么办?在A做好的时候就把A版本存起来,后面有问题直接回滚成版本A.Git的作用还不止于此,还用于多人协作.Git的工作流程我们来看Git的工作流程:一般工作流程如下:1.克隆Git资源作为工作目录2.在克隆的资源上添加或者修改文件3.如果其他人修改了,你可以更新资源4.在提交前查看修改5.提交修改6.在修
2020-09-02 20:18:03 186
原创 Tomcat介绍
Web相关概念回顾1.软件的架构分为CS架构和BS架构CS叫做Client-Server客户端服务器端BS叫做Browser-Server浏览器端服务器端BS开发快速,而且天然跨平台。Servlet是整个Java Web的核心浏览器通过域名可以找到服务器(中的资源),这个过程叫做请求。服务器中的资源分为两类,一类叫做静态资源,一类叫做动态资源。静态资源就是想HTML,CSS这些的,所有用户看到的都是一样的。动态资源就要和数据库相关了,每一个用户访问相同资源后得到的结果是动态的,可能一样,
2020-05-22 12:03:53 511
原创 XML解析-Jsoup
解析XML方式解析XML文档的思想一共有两大类,分别是DOM和SAX。DOM:将标记语言文档一次加载到内存,在内存中形成一颗DOM树,优点是操作方便,可以进行所有操作。缺点就是占用内存资源实在是太多了。非常消耗内存。SAX:逐行读取,基于事件驱动的。优点是:基本不占内存,很适用于内存较小的设备。缺点是:只能读取,不能生成XML文档。服务器端一般都是用DOM的思想,所以我们今天学习DOM思想常见的解析器解析器,有JAXP,这个是sun公司提供的,支持dom和sax两种思想,不过因为太老了,所以已
2020-05-21 19:32:57 282
原创 01.HTTP协议的概念和作用
HTTP协议详解web交互的基本流程由客户端(浏览器端)发送请求,服务端响应。也就是客户端在浏览器的地址栏输入要请求服务器的资源的url(这就是请求),然后服务器把对应的资源发送给浏览器,这叫响应。因为不同的浏览器输入的是相同的url地址,但是浏览器也是代码写的,不同的浏览器有不同的实现,为了规范,所以有了HTTP协议。规定了各个浏览器与服务器交互的数据的格式。在浏览器端请求的时候会发许多信息,HTTP协议规范了这些信息的格式。HTTP的概念和介绍HTTP:超文本传输协议作用:规范了浏览器和服
2020-05-21 10:45:00 684
原创 XML技术学习
XML技术学习1.1XML简介XML全称是 extensible markup language,可扩展标记语言是一种标签语言。(类似HTML,实际上HTML上最开始一行!DOC那一行就是定义了HTML的约束文件,所以实际上HTML也是一种有约束的XML语言)XML的标签是可以随便写的,一般用XML来信息的记录和传递。XML就是普通的文本文件,所以经常被用于做配置文件。使用简单的标记来描述数据。1.2格式良好的XML声明信息,用于描述XML的版本和编码方式...
2020-05-20 17:01:39 250
原创 MySQL 数据过滤
本章讲授如何组合WHERE子句以建立功能更强的更高级的搜索条件,我们还将学习如何使用NOT和IN操作符7.1组合WHERE子句上一章所介绍的所有WHERE子句在过滤数据的时候使用的都是单一的条件。为了进行更强的过滤控制,MySQL允许给出多个WHERE子句。这些子句可以两种方式使用:以AND子句的方式或者OR子句的方式使用。这些用来连接或者改变WHERE子句的关键字,被称为逻辑操作符。7.1.1 AND操作符为了通过不止一个列进行过滤,可使用AND操作符给WHERE子句附加条件,下面的代码给出了一
2020-05-11 20:57:54 491
原创 第1章 简单工厂模式
1.1面试受挫小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了写小程序,踌躇满志,一心想找一个好单位。当投递了无数份简历以后,终于收到了一个单位的面试通知,小菜欣喜若狂。到了人家单位,前台小姐给了他一份题目,上面写着“请用Java”来实现一个计算器控制程序,要求输入两个数和运算符号,得到结果。小菜一看,这还不简单,三下五除二,10分钟不到就写完了,小菜写完了,感觉没有什么错误,就交了。交了以后,单位说一周以内等通知吧。于是小菜只能耐心等待,可是半个月过去了,什么消息也没有。小菜很纳闷,
2020-05-10 23:17:39 272
原创 6.MySQL过滤数据
MySQL过滤数据本章将讲述如何使用SELECT语句的WHERE子句指定搜索条件。6.1使用WHERE子句数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只会根据特定操作或者报告的需要提举表数据的子集。只检索所需数据需要指定搜索条件,搜索条件也被称为过滤条件(filter condition).在SELECT语句中,数据库根据WHERE子句中指定的搜索条件进行过滤。WHERE子句在表名(FROM子句)之后给出,如下所示:SELECT e.`salary`,e.`id`,e.`ename`
2020-05-09 09:08:33 279
原创 5.排序检索数据库
排序检索数据库本章将讲述如何使用SELECT语句的ORDER BY子句,根据需要排序检索出的数据。5.1排序数据正如前一章所述,下面SQL语句返回某个数据库表的单个列,但其输出没有特定的顺序SELECT e.`ename`FROM emp e;其实检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将它在底层表中出现的顺序显示。这可能是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或者删除,则此顺序将会受到MySQL重用回收存储空间的影响。因此,如果不明确控制的话,不能
2020-05-09 08:16:54 318
原创 第四章.MySQL检索数据
4.1 SELECT语句SQL语句是由简单的英语单词组成的。这些单词称为关键字,每个SQL语句都是由一个或者多个关键字构成的。大概,是经常使用的SQL语句就是SELECT语句了。它的用途是从一个或者多个表中检索信息。为了使用SELECT检索表数据,必须至少给出两条信息—想选择什么,以及从什么地方选择。4.2检索单个列我们将从简单的SQL SELECT 语句开始介绍:语句如下:SELE...
2020-05-07 17:50:30 353
原创 1.了解SQL
1.1数据库基础你正在阅读本博客,这表明你需要以某种方式与数据库打交道。在深入学习MySQL以及SQL语言的实现之前,应该对数据库以及数据库技术的某些基本概念有所了解。你可能还没有意识到,其实你一直在使用数据库。每当你从自己的电子邮件地址铺中查找名字时候,你就在使用数据库。如果你在某个英特网搜索站点上进行搜索,也是在使用数据库。如果你在工作中登陆网络,也需要依靠数据库验证滋滋的名字和密码。即使...
2020-05-07 08:41:42 225
原创 1.3 Spring MVC简介
1.3 Spring MVC简介长期以来Struts2与Spring的结合一直存在很多问题,比如兼容性和类臃肿。加之近年来Struts2漏洞问题频发,导致使用率大减。与此同时,生于Spring Web项目的MVC(Model View Controller)框架走到了我们面前,Spring MVC结构层次清晰,类比较简单,并且与Spring的核心IoC和AOP无缝对接,成为了互联网时代的主流架构...
2020-05-06 23:16:22 168
原创 1.2MyBatis简介和Hibernate简介
MyBatis简介MyBatis的前身是Apache的开源项目iBatis。iBatis一次来源于internet,和abatis的组合,是一个基于Java持久层架构。2010年这个项目由Apache software foundation迁移到Google code,并更名为MyBatis。2013年11月,MyBatis迁移到Github上,目前由Github提供维护。MyBatis的优势...
2020-05-06 22:52:06 389
原创 1.1 Spring框架简介
1.1Spring框架Spring框架是Java应用最广的框架。它的成功来源于理念,而不是技术本身。它的理念包括IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程).1.1.1 Spring IoC简介Ioc是一个容器,在Spring中,他会认为一切Java资源都是Java Bean,容器的目标就是管理这...
2020-05-05 23:25:43 595 1
原创 为什么选择SSM框架+Redis的开发模式
为什么选择SSM框架+Redis的开发模式首先,Struts2框架和Spring结合,多年来改变不了臃肿的老毛病,更为严重的是近年来多次出现漏洞问题,使得其名声和使用率大大下降。这时候Spring MVC架构成了新一代MVC架构的主流。它原生于Spring框架,可以无缝对接Spring的核心技术。与Struts不同,它的流程模块化,没有那么多臃肿的类,所以互联网应用的框架大部分就是Spring ...
2020-05-05 20:51:17 782
原创 解决Servlet输出输入中文乱码问题
加上如下三行代码即可: request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html;utf-8");
2020-03-16 10:28:29 305
原创 1.Servlet第一个程序
第一个Servlet程序Servlet是服务HTTP请求并实现javax.servlet.Servlet接口的Java类/Web应用程序开发人员常常编写Servlet来扩展javax.servlet.http.HttpServlet,并实现Servlet接口的抽象类来专门用来处理HTTP请求。Servlet-Hello World示例代码下面是Servlet输出Hello World的示例源...
2020-03-16 09:04:48 227
原创 Java异常处理
Java异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,有时候错误是可以避免的。比如说,如果你的代码少了一个;那么会报错java.lang.Error,但是如果你写了System.out.println(11/0);那么你的程序就会爆出java.lang.ArithmeticException的异常异常的发生有很多可能,最常见的是以下几种用户输入了非法数据要打开的文件不存在...
2020-03-06 21:14:41 357
原创 Linux vi/vim
Linux vi/vim所有的Unix-like系统都会使用vi/vim文本编辑器,其他文本编辑器则不一定存在。目前我们使用较多的是vim编辑器vim具有程序的逻辑性,可以以字体颜色来显示代码的对错,方便程序设计。什么是vimVim是从vi发展来的文本编辑器,具有代码的补全,跳转错误行,功能丰富,在程序员中被广泛使用。比起一个文本编辑器,vim更像是一个代码开发工具。vi/vim的使...
2020-03-02 14:50:09 199
原创 Java/C++/C输入整数然后输入字符或者字符串会导致语句跳过的问题,如何避免?
只需要在输入整数和输入字符串/字符的语句之间加入这么一个语句C/C++: char c; while((c=getchar())!='\n'&&c!=EOF); java: Scanner sc=new Scanner(System.in); sc.nextLine();...
2020-02-26 11:40:02 764
原创 9.HTML头部
HTML<head>元素1.<head>元素中<title>元素<title>元素是页面的标题,实例如下<!DOCTYPE html><html> <head> <title>这是页面的标题</title> </head> <body> <...
2020-02-10 15:36:32 287
原创 8.HTML链接
HTML链接HTML使用链接与另一个HTML文档相连,几乎在所有的HTML文档中都可以找到链接,点击链接可以从一个页面跳转到另一个页面。<!DOCTYPE html><html> <head> <meta cahrset="utf-8"> <title>这是标题</title> </head> ...
2020-02-04 16:03:56 1021
原创 7.HTML文本格式化
HTML文本格式化<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>页面标题</title> </head> <body> <div><b>加粗文本</b></div>...
2020-02-04 15:40:49 251
原创 6.HTML段落
HTML段落HTML文档中可以将文字分割为若干段落段落是通过<p>标签定义的<p>这是一个段落</p><p>这是另一个段落</p>注意:浏览器会自动的的在<p>元素前后添加空行(说明这个标签元素是块级元素)再次注意,不要忘记书写结束标签!HTML折行如果您希望在不产生一个新段落的条件下增加一个新行,请使用&l...
2020-02-04 14:58:48 256
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人