自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Java基础——String,StringBuilder,StringBuffer的区别

String是Java中基础且重要的类,并且String也是Immutable类的典型实现,被声明为final class,除了hash这个属性其它属性都声明为final,因为它的不可变性,所以例如拼接字符串时候会产生很多无用的中间对象,如果频繁的进行这样的操作对性能有所影响。StringBuffer就是为了解决大量拼接字符串时产生很多中间对象问题而提供的一个类,提供append和add方法,...

2019-08-21 15:13:02 211

原创 mysql ——插入数据中文乱码

原因导致数据库乱码的原因有三个原因1.client客户端(cmd命令行或者任何链接数据库可视化窗口软件)的编码不是utf82.server端的编码不是utf83.数据库的编码不是utf84.数据库中表的编码不是utf8解决最好将之前的my.ini文件做备份(my_bak.ini),防止数据库不能打开针对1:在mysql的my.ini文件[client]下中添加客户端...

2019-08-14 14:40:38 6083 3

原创 回调机制简单的理解

回调与普通调用方法的回调与普通的方法调用不同,普通方法调用一般需要程序员手动调用,而回调方法则是由系统、服务器或者别的程序调用程序员自己创建、实现接口/抽象类的方法、重写父类的方法,这种方法一般称为回调函数(钩子函数)。一、普通的方法调用:public class A { void methrod() { } public sta...

2019-08-13 19:43:28 2679

转载 持续交付与Devops

持续交付:https://baike.baidu.com/item/%E6%8C%81%E7%BB%AD%E4%BA%A4%E4%BB%98/9803571?fr=aladdinDevops:https://baike.baidu.com/item/devops/2613029?fr=aladdin

2019-07-30 09:48:58 527

原创 mysql和hive——concat函数和concat_ws函数

原文https://blog.csdn.net/muzieryueniao/article/details/77053307,为hive数据库字符串拼接函数的原文,同样适用于mysql在mysql中使用concat函数与concat_ws函数的实验实验1:concat_ws函数concat_ws(分隔符字符串,被拼接字段1,被拼接字段2,被拼接字段3,.....)返...

2019-05-29 15:14:43 2208

原创 日志——log4J浅谈与使用

情形复习尚学堂mubatis一、log4J1.由apache推出的开源免费日志处理的类库2.为什么需要日志: 2.1 在项目编写中我们会通过sout来输出到控制台debug,但是当项目发布到tomcat上时,由于是linux服务器,即使有控制台,但是查看结果不容易,不容易找出错误和debug 2.2 log4J的作用,不仅仅能把内容输出到控制台,还能把内容...

2019-03-25 14:55:49 364

原创 面试——路径、转发与重定向的区别

情形复习尚学堂java的mybatis第二天遇到了一系列问题,并以此来复习关于项目路径,服务器路径,绝对路径,相对路径以及转发和重定向的区别一、转发与重定向1.两者的区别链接:https://blog.csdn.net/liubin5620/article/details/79922692二、路径我们以web开发的各种资源作为大环境探讨路径的问题和定义项目路径:叫做项目...

2019-03-24 22:32:14 658

原创 idea——在idea的web项目下生成META-INF文件夹

情形复习尚学堂mybatis框架,讲解mybatis-conf配置文件中,讲解到了dataSource字段,其中dataSource字段中有Type属性,可以设置是否使用数据库连接池,如果使用POOLED,则使用JDBC连接池技术;UNPOOLED不使用;JNDI这个数据源的实现是为了使用如 Spring 或应用服务器这类的容器, 容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文...

2019-03-23 17:45:14 15492

转载 Idea——非maven项目如何导入jar包作为依赖

链接:https://blog.csdn.net/why_768/article/details/76870599

2019-03-20 22:59:56 6309

原创 Hadoop————Hadoop的hdfs集群的介绍

学习尚学堂大数据,初学hadoop,学习到了hadoop的并行计算如何减少IO次数,以及hdfs集群的逻辑和架构,一下为对hdfs架构中NameNode和DataNode的知识的小总结和解释。一、HDFS的基础知识...

2019-03-20 22:58:47 418

原创 Maven——setting.xml文件详解

原文链接:https://blog.csdn.net/allwords/article/details/78222606

2019-03-14 22:10:10 274

原创 Maven——关于idea 2018.1版本集成tomcat7插件的问题解决

最近在学习尚学堂的idea使用教程中在maven的web工程创建阶段出现了一些问题,具体为两个情形,情形如下:情形1运用maven集成的tomcat插件,我们不需要将项目部署到tomcat中,直接通过maven的tomcat指令即可对项目进行部署和运行,大部分的tomcat7插件的部署步骤为在pom.xml文件中添加如下标签:<build> <...

2019-03-14 22:01:04 5025 2

转载 Java基础——JVM——一个java程序是如何从磁盘中跑起来的

一、粗略解释不专业:https://blog.csdn.net/jim_007/article/details/53839755二、较为专业化阅读了官方文档的解释:https://blog.csdn.net/chengzhang1989/article/details/75451980 https://blog.csdn.net/chengzhang1989/article/detail...

2019-03-09 16:06:00 319

转载 Java基础——JVM——Java1.8的永久代

根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分,如下图所示1.1 虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出StackOver...

2019-03-09 14:39:03 1533

原创 高并发与负载均衡——keepalived

前言前文我们提到了如何让LVS来检测RealServer是否健康,我们可以写shell脚本来定期发送http请求监控返回Resp的状态码是否是200,还有就是使用现有技术keepalived一、keepalived1.keepalived的简介VRRP协议主要用来做网络的高可用保障的,keepalived用到了这项协议技术来保证高可用2.将LVS做主备最好将LVS上的防...

2019-02-20 23:06:21 921

原创 Maven————关于在pom.xml中添加tomcat7插件后maven projects中还是没有tomcat7插件图标的问题

最近在学习idea管理maven以及创建maven的web工程还有通过maven的tomcat插件将工程部署到tomcat上,遇到了如下问题问题上图中Plugins中并没有tomcat7,其实tomcat7插件是已经添加到maven中了,只是这里没有显示而已。解决方案后续猜测本问题是在跟着尚学堂idea创建maven的web工程的视频学习中遇到的问题,和老师的环...

2019-01-30 21:50:58 8758 8

原创 高并发与负载均衡——nginx反向代理与负载均衡

一、反向代理1.面向服务开发模块化,解耦的开发,提高团队合作效率,现阶段的开发。2.正向代理与反响代理的区别代理是的方向是就客户端而言的,对于翻墙来说,是正向代理,Client访问不了服务器,这时候需要一个代理服务器代理我们访问服务器,这就是正向代理,代理服务器代理客户端。对于分布式架构业务服务,来说反向代理服务器其实做的是反响代理的工作,因为反响代理服务器代理的是Client访问...

2018-12-26 18:36:30 11356 1

原创 高并发与负载均衡——LVS:DR模型搭建实战

一、LVS-DR模型搭建拓扑图 图1搭建结构:笔记本访问VIP:192.168.9.100(LVS),node01为LVS,node02和node03作为RealServer承受均衡负载。192.168.9.1为vmnet8的网卡(windows系统中的网卡),192.168.9.2作为虚拟局域网络的网关(也是NAT服务器的IP地址,这个NAT服务器可以发挥路由器的作用)。 ...

2018-12-24 21:30:07 571

原创 高并发与负载均衡——网络TCP-IP基础知识

一、网络分层1.七层(接口):解耦,便于开发应用层:7.应用层:nginx,软件,浏览器,DNS 6.表示层传输层:5.会话层 4.传输层:lvs负载均衡网络层:3.网络层链路层2.链路层 1.物理层 2.四层:TCP/IP协议,OSI 7L参考模型对7层的简化分层和实现举例:GET / www.baidu.com/1.应用层(应用层+表示层糅合):对...

2018-12-22 21:28:28 4875

原创 Mysql杂谈——日常记录一些零碎知识点

1.mysql一张表能存多少条数据大概500w 一下 查询效率还可以,不建议单表大于500w数据量

2018-12-21 17:26:25 150

原创 线程状态图

线程的各个状态之间如何转换、一、就绪状态1.调用start方法,线程进入就绪状态2.阻塞状态解除,例如join方法或者sleep方法,nodify方法执行后,线程从阻塞状态进入到就绪状态3.从运行状态转换到就绪状态:调用yield方法4.jvm本身从本地线程切换到其他线程,则本地线程进入就绪状态二、运行状态强调:运行状态一定是从就绪状态通过调度进入到运行状态,具...

2018-10-10 20:02:21 248

原创 JVM学习——垃圾回收器不同,垃圾回收的机制也不同

一、问题在学习深入理解Java虚拟机(第二版)的3.6内存分配与回收策略中遇到了一个问题,就是代码清单3-5,3-6,3-7在运行结束后控制台GC打印结果与书上的不同(这里就不列举我的打印结果了)。二、问题解决与分析后来查阅资料与博客,以及仔细查看书籍,发现打印结果和回收策略不同的根本原因在于对不同垃圾回收器的垃圾回收机制以及垃圾回收后的对象重新分配内存的机制不同(虽然所有的垃圾回收器...

2018-09-11 17:36:04 133

原创 算法——完全多部图

一、问题描述京东的题目        给定一张包含N个点、M条边的无向图,每条边连接两个不同的点,且任意两点间最多只有一条边。对于这样的简单无向图,如果能将所有点划分成若干个集合,使得任意两个同一集合内的点之间没有边相连,任意两个不同集合内的点之间有边相连,则称该图为完全多部图。现在你需要判断给定的图是否为完全多部图。        输入:第一行输入一个整数T表示数据组数,1≤T≤10...

2018-09-10 18:02:36 2741 2

原创 二分法——二分法变种用法,缺失数组元素的查找

同学校招快手的一面手撕题目,要求logN级别时间复杂度和常数级别空间复杂度。  

2018-09-08 20:50:59 458

原创 JVM——对编译器,JIT,解释器的存在和解决问题的理解

初次学习JVM,有不少理解不到位的地方,希望看客们谅解 问题:为什么jvm现在的结构是两级即时编译器、 编译器与解释器混合工作模式。 分解1:在理解为什么处理的关键,我们需要了解c和c++这种编译性质的语言与java在运行方面的区别参考:https://blog.csdn.net/touzani/article/details/1625760c与c++是编译性质的语言,语言...

2018-09-02 16:08:38 982

原创 MVCC——行级锁实验:sql语句如果发生了索引失效会怎么样

前提:set autocommit=0模拟多线程事务 问题:从国上一篇博客我们已经知道,update和insert在什么情况下使用mvcc行级锁不会出现阻塞和什么情况下会出现阻塞,接下来我们考虑将锁与索引结合起来,看看索引在mvcc行级锁中所发挥的作用 你需要知道:在innerDB的engine下,mvcc行级锁可能会发生粒度从行的粒度升级为表级别的粒度,严重影响并发,那这种情况是...

2018-08-27 15:21:59 732

原创 mvcc行级锁实验——update与insert(主键自增与主键不自增的区别)

前提:关闭自动提交模拟多线程情形:set auto_commit=0 update:如果同时对于同一行进行update,那么后更改的线程将进入阻塞事务1:更新成功未提交                                                       事务2:等待事务1提交并阻塞  如果等待时间过长,则mysql会让阻塞事务自动放弃锁的争夺,需...

2018-08-26 21:05:15 1992 1

转载 对象头信息Object Header

备注:配合java中的锁,以及jvm创建对象的具体过程,tlab等知识联系观看tlab:https://blog.csdn.net/xiaomingdetianxia/article/details/77688945锁:https://blog.csdn.net/zqz_zqz/article/details/70233767HotSpot 虚拟机的对象头包括两部分信息:Mark Wo...

2018-08-21 21:19:41 4050

原创 面试——什么是关系型数据库,表设计原则的三大范式

一、关系的概念关系模型能这么成功,一个重要原因就是有非常坚实的数学基础。例如“关系”这个概念,在数学上就是笛卡尔积的一个子集。 例如 S1 = (a,b,c)  , S2 = (1,2,3) 那S1和S2的笛卡尔积就是 :S = S1 * S2 = ((a,1),(a,2),(a,3), (b,1),(b,2) , (b,3) , (c,1),(c,2),(c,3) )那么S 的任意一个子集都是关...

2018-07-09 19:55:18 1560

原创 面试——Spring事务管理

一、@Transactional注意事项:如果动态代理使用的是jdk默认的动态代理,那么进行@Resource注入的时候,一定要给接口注入对象,而不是给实现类注入对象。因为aop底层是基于业务层接口通过反射构造实现类对业务方法进行执行的。所以必须注入接口。不然会报BeanNotRequiredException。二、事务的管理@Transactional(readonly),在业务方法上添加该注解...

2018-07-05 15:02:53 6580

原创 面试——内存简单讲解

栈:1.栈描述的是一个方法执行的内存模型,每个方法被调用都会创建一个栈帧(存储局部变量,操作数、方法出口等)2.JVM为每一个线程创建一个栈,用于存放该线程执行方法的信息(实际参数,局部变量)3.栈是属于线程私有的,不能在线程之间进行共享4.这个栈的存储特性:先进后出5.栈是由系统自动分配,速度快!栈是一个连续的内存空间理解:从这段话可以看出,每个线程拥有一个独立的栈空间,每当线程执行方法,mai...

2018-07-04 18:26:12 541

原创 面试——aop

一、什么是AOPAOP:大体可以理解为面向切面编程,详解可以百度:https://baike.baidu.com/item/AOP/1332219?fr=aladdin二、AOP是基于什么实现的AOP是基于动态代理实现的,而动态代理可以理解为动态执行方法,动态加载类。三、AOP在ssm框架中是如何执行的,怎么使用的反射机制我在我的项目业务层增加了一个空指针异常,来查看ssm框架如何调用从异常抛出的...

2018-07-04 16:18:50 4992

原创 面试——反射机制浅显讲解

反射:java提供的动态执行机制,可以动态的加载类,动态创建对象,动态执行方法。上图是jvm如何执行Class cls = Class.forName("Foo"),也就是jvm如何将Foo.class文件加载到内存中的——类加载step1:javac(java编译器)将java文件编译生成*.class文件step2:jvm在运行过程中,根据class.forName("Foo")中的Foo来找...

2018-07-03 21:14:51 5329 1

原创 面试——ServletContext(Application)、Session、Request、Page

ServletContext:用于一个web应用共享数据,多个会话的共享数据session:一个会话的多个请求共享数据Request:一个请求期间共享数据Page:jsp页面内部共享数据。...

2018-07-01 16:58:37 358

原创 面试——cookie与session

面试问题1.session是有存储时间的,如果session过期了,那么再进行其他请求的时候,服务器肯定会终止连接,那么我们生活中是怎么避免这种问题的?答案:浏览器定时向服务器发送验证过的cookie,每隔5分钟发送一次,可以保证session不会过期。...

2018-06-30 15:05:06 415

原创 ideaweb项目搭建流程——只基于json控制层搭建

由于学的东西太多了,脑子里装不下,所以搞一个方便记忆step1———创建Maven项目step2——将Maven项目创建为Web项目点击create artifactstep3——导入maven依赖,将本地maven依赖导入服务器中变成:step4——设置DispatcherServlet,在web.xml文件中。让tomcat加载DispatcherServlet,以及设置DispatcherS...

2018-06-28 22:07:42 576

原创 面试——socket以及tcp/ip的三次握手通信

socket是用来客户端和服务器之间建立连接的一个组建,建立连接的过程是三次握手的过程,客户端向服务器发送消息,问服务器在不在,客户端要和它进行连接了,服务器接收到后,服务器向浏览器发送消息表明自己在,并问客户端能收到服务器发送的消息吗?客户端接收到消息后,再向服务器发送消息,表明能收到服务器发来消息。这三次握手的目的在于验证服务器浏览器之间两者的收,发功能是否正常。四次握手...

2018-06-25 13:56:49 601

转载 面试----exception和error

运行时异常与一般异常有什么区别?以及exception和error的对比? exception和error一、相同点:1.都继承了throwable类,在java中只有继承了该类才可以被抛出并捕获。二、不同点:1.exception和error体现了java平台设计者对不同异常情况的分类。exception是程序正常运行中,可以预料的意外情况,可以捕获并进行处理;而erro...

2018-06-22 16:20:56 375

转载 面试----java平台的理解

“一次编译,到处运行“说的是java语言跨平台的特性,java的跨平台特性与java虚拟机存在着密不可分的关系,可以在不同环境中运行。其实java语言本身与其他的编程语言没有太大的差异,并不是说java语言可以跨平台而是在不同平台有着让java在不同平台运行的环境而已。所以才有了一次编译,到处运行的效果。 严格的讲,跨平台的语言不只java一种,但是java是较为成熟的一种。“一次编译到处...

2018-06-22 15:23:36 148

原创 group by与where能否一起使用?

百度解释:可以。注意:where肯定在group by 之前。一,group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select xx from xx的记录集合用where进行筛选,然后再使用group by 对筛选后的结果进行分组 使用having字句对分组后的结果进行筛选。二,需要注意having和where的用法区别:h...

2018-06-21 19:26:37 72405 4

空空如也

空空如也

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

TA关注的人

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