自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用Redis,java高分面试指南

细细解释一下这个问题,当一个请求发送数据当服务器时,一开始存储数据是Redis缓存,没有进行任何关于数据库的操作,但是缓存不能持久化,因此需要需要把这些数据存入数据库,因此会在一定条件时判断一个请求是否结束,一旦结束,就会将缓存中的数据更新到数据库。而这个条件就像秒杀或者抢红包业务中红包数量是否为0,如果为空,一次性写入数据库,完成持久化工作。[]()Redis的原理解析--------------------------------------------------------

2021-09-09 23:49:17 102

原创 使用 Mybatis 真心不要偷懒!,这位阿里P7大佬分析总结的属实到位

<if test="_parameter!=null and _parameter!=''"> and coin_type=#{coinType}</if> 注意事项:在XML文件中的参数名与@Param()中的参数名一致,与方法参数名无关。例如:List queryAddressBySimplte(@Param(“addressAlias”)String address,@Param(“coinTypeAlias”) String

2021-09-09 23:47:29 152

原创 MyBatis常用标签和注解(绝对经典,突围金九银十面试季

### 2、insert – 映射插入语句insert into User (id,name,sex) values (#{id},#{name},#{sex})### 3、update – 映射更新语句update User setname = #{name},sex= #{sex}where id = #{id}### 4、delete – 映射删除语句delete from User where id =...

2021-09-09 16:47:18 187

原创 Mybatis学习笔记--自定义Mybatis,京东面试题Java

*/void close();}此时,就会发现我们的MybatisTest测试类已经不再报错了,接下来开始完成SqlSessionFactoryBuilder中的代码: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200812094159377.png#pic_left)**配置工具类 XMLConfigBuilder,用于解析 XML 文件**/**@Author: Ly@Date: 2020-07-11 12.

2021-09-09 16:45:45 75

原创 Mybatis学习笔记--自定义Mybatis(1),Javaweb资料视频

第一:创建代理对象第二:在代理对象中调用selectList[]()前期准备项目结构图:配置pom.xml文件,添加相关依赖jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ..

2021-09-09 16:44:12 89

原创 MyBatis-底层源码解析-(详细,Java面试基础知识

* 添加一个Mapper接口的代理工厂对象到configuration.mapperRegistry.knownMappers集合中 * 参考 {@link Configuration#mapperRegistry}, * {@link MapperRegistry#knownMappers} */ configuration.add...

2021-09-09 16:42:23 197

原创 MyBatis 源码分析 - 缓存原理,太牛了

PerpetualCache 是一个具有基本功能的缓存类,内部使用了 HashMap 实现缓存功能。它的源码如下:public class PerpetualCache implements Cache { private final String id; private Map<Object, Object> cache = new HashMap<Object, Object>(); public PerpetualCache(Str

2021-09-09 16:40:42 126

原创 MyBatis 源码分析 - MyBatis入门,张口就来

* * [4.1 在pom.xml添加依赖](about:blank#41_pomxml_276) * [4.2 在application.yml配置](about:blank#42_applicationyml_322) * [4.3 mapper文件](about:blank#43_mapper_362) * [4.4 创建用户表与添加用户数据](about:blank#44__395) * [4.5 创建实体类](about:blank#

2021-09-09 16:38:55 113

原创 一线互联网企业中,Java教学视频百度云盘

京东商城任职职位描述:京东商城-汽车用品部门招聘我们需要这样的你:毕业生(本科或硕士均可)学习能力强担当、抗压、接受变化能长期实习(优秀者有转正机会)需要一个大的平台来展示和发挥自己的能力你将收获:重新认识快速成长的自己一份世界500强的工作经历一群优秀的伙伴3、爱奇艺 Java开发岗 - 游戏事业部要求:至少 6 个月以上每周三天以上实习。本科以上学历,计算机、软件工程相关专业;基础扎实,熟悉 Java 编程,熟悉Spring、MyBatis 等框架优先;熟悉 SQL 语句,

2021-09-08 16:36:41 116

原创 一篇送给临近35岁程序员的文章,Java面试题库及答案

假设本科22岁毕业,那么工作的前5年对你来说是打基础的阶段。在这5年时间里面,你要积累足够的代码量,打磨自己的技术实力,成为某一个技术细分领域的牛人。28-35岁:形成思维方法论和知识体系的阶段。当你积累足够的代码量,例如超过10万行代码以后,你应该形成了自己的思维方法论和自己独立的学习技巧,任何新的技术在你眼中都能迅速的看到技术的本质,快速吸收成为你的知识体系的一部分。到了这个阶段,你会发现你所完全不了解的新技术新知识是非常少的,新技术对你来说也不过是几天时间就把玩的很好的玩具,学习越来越轻松,掌握

2021-09-08 16:35:10 87

原创 一篇文章让你明白STP生成树协议,掌握这6大技能体系

交换机向所在广播域发送的bpdu内容有:bridge ID优先级mac地址选举规则:主板mac地址,交换机端口mac地址是端口号+主板mac地址得来查看优先级,mac地址,网桥ID依次查看选取最小的为根桥2.每个非根桥选择一个根端口(RP)1.路径成本最低2.直连的网桥id最小3.最低发送者端口id最小3.每个段选择一个指定端口(DP)每一个线连接的两段选一个指定端口,RP的对端肯定是DP对比bri id优先成为dp,另一个无身份4.阻塞非指定端口没有身份的会被阻塞掉,称为A

2021-09-08 16:33:37 224

原创 一篇文章让你了解基于Spring的测试,Java大厂面试真题

如果要结合容器进行集成测试,在测试类中的固件初始化时(比如@Before注解方法)初始化容器后获取需要的Bean实例进行测试,以JUnit4中初始化容器进行测试的代码示例如下:public class JunitSpringTest { //单元测试类private ApplicationContext context; //定义上下文变量 @Before //测试环境初始化注解 public void initSpring() { //环境初始化方法 context =

2021-09-08 16:32:07 142

原创 一篇文章让你了解基于Spring的测试(1),Java编程入门自学

PropertySourcesPlaceholderConfigurer pc = new PropertySourcesPlaceholderConfigurer();pc.setEnvironment(new MockEnvironment().withProperty(“name”, “Oscar”));//设置环境属性pc.postProcessBeanFactory(bf); //替换占位符上面的示例代码中,使用GenericBeanDefinition类进行Bean的配置和注册,对应

2021-09-08 16:30:28 138

原创 一次全讲清楚!SpringCloud简介与微服务架构,Java工程师进阶书籍

缺点:效率低:开发都在同一个项目改代码,相互等待,冲突不断维护难:代码功功能耦合在一起,新人不知道何从下手不灵活:构建时间长,任何小修改都要重构整个项目,耗时稳定性差:一个微小的问题,都可能导致整个应用挂掉扩展性不够:无法满足高并发下的业务需求常见的系统架构遵循的三个标准和业务驱动力:提高敏捷性:及时响应业务需求,促进企业发展提升用户体验:提升用户体验,减少用户流失降低成本:降低增加产品,客户或业务方案的成本基于微服务架构的设计目的:有效的拆分

2021-09-08 16:26:45 234

原创 《SpringCloud超级入门,spring基础教程

服务信息被集中到 Registry 中,形成了服务治理的中心组件;通过 Monitor 监控系统,可以直观地展示服务调用的统计信息;服务消费者可以进行负载均衡、服务降级的选择。但是对于微服务架构而言,Dubbo 并不是十全十美的,也有一些缺陷,比如:Registry 严重依赖第三方组件(ZooKeeper 或者 Redis),当这些组件出现问题时,服务调用很快就会中断。Dubbo 只支持 RPC 调用。这使得服务提供方与调用方在代码上产生了强依赖,服务提供方需要不断将包含公..

2021-09-06 17:29:14 63

原创 《SpringCloud超级入门(1),linux视频教程百度云

服务的调用方在请求某项服务时首先通过中心组件获取提供服务的实例信息(IP、端口等),再通过默认或自定义的策略选择该服务的某一提供方直接进行访问,所以考虑引入 Dubbo。Dubbo 是阿里开源的一个 SOA 服务治理解决方案,文档丰富,在国内的使用度非常高。图 2 为 Dubbo 的基本架构图,使用 Dubbo 构建的微服务已经可以较好地解决上面提到的问题。图 2  Dubbo 的基本架构图从图 2 中,可以看出以下几点:调用中间层变成了可选组件,消费方可以直接访问服务提供

2021-09-06 17:27:29 116

原创 《JVM系列,springmvc实战项目

JIT编译器(Just In Time Compiler): 虚拟机将源代码直接编译成和本地机器平台相关的机器语言。半编译半解释型语言: JDK1.0时代,将Java语言定位为“解释执行”还是比较准确的。再后来,Java也发展出可以直接生成本地代码的编译器。现在JVM在执行Java代码的时候,通常都会将解释执行与编译执行二者结合起来进行。翻译成本地代码后,就可以做一个缓存操作,存储在方法区中机器码、指令、汇编语言机器码:各种用二进制编码方式表示的指令,叫做机器指令码。开始,人们就用它采编写程

2021-09-06 17:25:46 133

原创 ②、jQuery,重磅消息

console.log('我鼠标经过了'); } }); $("ul").on("click", "li", function() { alert(11); }); // 1. 事件解绑 off // $("div").off(); // 这个是解除了div身上的所有事件 $("div").off("click")...

2021-09-06 17:24:04 49

原创 “项目经理,tomcat原理面试

二、喷泉模型三、快速原型模型四、增量模型五、螺旋模型六、Rational统一模型七、微软过程模型Hello,你好呀!我是灰小猿,一个超会写bug的程序猿!今天来和大家分享一下在进行系统的软件开发的过程中常用的七大软件过程模型,熟悉软件开发常用的几种模型方法。助力每一个程序员小伙伴都可以尽早成为项目经理哟!一.瀑布模型==========瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、训试和维护,上一阶段完成后才能进入到下一阶段, 整个模型就像一个飞流直

2021-09-06 17:22:16 67

原创 “抽象类,springboot面试问题

public abstract void Perimeter();}抽象类和抽象方法的实现===========我们在上面说道一般将父类定义为抽象类,因此想要实现抽象类及其其中的抽象方法,就必须继承或派生自该抽象类。**注意啦:在C#中继承抽象类使用“:”****而在Java中继承抽象类则需要使用“extends”关键字。**同时,在继承了抽象类之后,若该抽象类中存在抽象方法,则需要使用关键字override对该方法进行重写。同时这也是实现抽象方法的一种方式。

2021-09-06 17:20:42 86

原创 “并发,ZooKeeper的十二连问

mysql MVCC原理mysql默认事务隔离级别是 RR(Repeatable Read,可重复读),事务A在读到一条数据之后,此时事务B对该数据进行了修改并提交,那么事务A再读该数据,读到的还是原来的内容。MVCC的实现,是通过保存数据在某个时间点的快照来实现的。也就是说,不管需要执行多长时间,每个事务看到的数据是一致的。根据事务开始的时间不同,每个事物对同一张表,同一时刻看到的数据可能是不一样的。由此可以确定第二个请求执行查询时第一个请求事务没有提交,两者的事务版本号是一样的所以查询的值是一样的

2021-09-06 17:19:01 73

原创 Spring MVC,自定义组件如何注入Spring底层的组件

order:支付产生的订单flow:流水账product:商品表:用于模拟购买商品。drop table if exists user;/*==============================================================*//* Table: user          &nbsp..

2021-09-05 19:14:18 65

原创 Spring MVC面试题(2020最新版,手撸SpringBoot缓存系统

* [@ResponseBody注解的作用](about:blank#ResponseBody_206) * [@PathVariable和@RequestParam的区别](about:blank#PathVariableRequestParam_214)* [其他](about:blank#_224)* * [Spring MVC与Struts2区别](about:blank#Spring_MVCStruts2_226) * [Spring M...

2021-09-05 19:12:42 314

原创 Spring MVC温故而知新 – 从零开始,思维图+核心+架构让你一步到位

1:用户发起请求,请求会被前端控制器(DispatcherServlet)拦截2:前端控制器(DispatcherServlet)请求处理器映射器(HandlerMapping)查找Handler3:处理器映射器(HandlerMapping)根据配置找到相应Handler(可以更具注解或者XML配置),可能包含多个Interceptor拦截器,返回给前端控制器4:前端控制器(DispatcherServlet)请求处理器适配器(HandlerAdapter)去执行相应的Handler5:适配器交由

2021-09-05 19:10:58 63

原创 Spring Boot 和 Spring 到底有啥区别?,看完99%的人都学会了

return bean;}}再来看SpringBoot一旦我们添加了Web启动程序,Spring Boot只需要在application配置文件中配置几个属性来完成如上操作:spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jsp上面的所有Spring配置都是通过一个名为auto-configuration的过程添加Boot web starter来自动包含的。这意味着Spring Boot将..

2021-09-05 19:07:30 276

原创 Spring Bean的装配,2021年Java大厂面试分享

import lombok.NoArgsConstructor;import lombok.ToString;import org.springframework.beans.factory.BeanNameAware;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;@Data@ToString@AllArgsCons

2021-09-05 19:05:44 132

原创 【python实战(1),中信银行Java笔试题库

Date: 2021/6/5 11:14Author: libiaowechat: 一条ITSoftware: PyCharmimport reimport timeimport requestsfrom webRequest import WebRequestdef getHtml(proxy):# ....retry_count = 1while retry_count > 0: try: html = requests.get('http:/

2021-09-03 18:21:23 335

原创 【leetcode刷题,Java技术类校招面试题汇总

糊涂算法,难得糊涂今天来一道中等题,看看自己功力几何?Question[]()5. 最长回文子串难度:中等给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “

2021-09-03 18:16:23 155

原创 【Kotlin,Java开发三年月薪才12K

2.语法高级3.语言安全性。杜绝空指针4.和java100%兼容2.运行在线网站:https://play.kotlinlang.org/val 不可变 =finalvar 非finalvar a =10(自动推导类型)不加分号变量延迟赋值:var a:Int a=10函数import kotlin.math.maxfun main(){ var a=10 var b=12 var max=largerNumber(a,b)

2021-09-03 18:14:49 130

原创 【JVM性能优化,这套Github上40K+star面试笔记

/proc/${PID}/fd/proc/${PID}/task 可以分别查看句柄详情和线程数。例如,某一台线上服务器的sshd进程PID是9339,查看ll /proc/9339/fdll /proc/9339/task 如上图,sshd共占用了四个句柄0 -> 标准输入1 -> 标准输出2 -> 标准错误输出3 -> socket(容易想到是监听端口)sshd只有一个主线程PID为9339,并没有多线程。所以,只要.

2021-09-03 18:13:06 155

原创 Class,Javaweb面试宝典

二、Class.forName()和classloader.loadclass区别1、Classloder.loaderClass(String name)其实该方法内部调用的是:Classloder. loadClass(name, false)方法:Classloder. loadClass(String name, boolean resolve)(1)参数name代表类的全限定类名(2)参数resolve代表是否解析,resolve为true是解析该类2、Class.forName(S

2021-09-02 21:02:49 55

原创 BIO和NIO有啥区别?为啥要使用-Netty,Java工程师面试突击第三季下载

为了让你更好地了解 Netty 以及它诞生的原因,先从传统的网络编程说起吧!还是要从 BIO 说起传统的阻塞式通信流程早期的 Java 网络相关的 API(java.net包) 使用 Socket(套接字)进行网络通信,不过只支持阻塞函数使用。要通过互联网进行通信,至少需要一对套接字:运行于服务器端的 Server Socket。运行于客户机端的 Client SocketSocket 网络通信过程如下图所示:Socket 网络通信过程简单来说分为下面 4 步:建立服务端并且监听客

2021-09-02 21:01:01 70

空空如也

空空如也

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

TA关注的人

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