自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring模块组成(框架组成(1),腾讯Java开发面试

Spring的核心容器是其他模块建立的基础,有spring-core、spring-beans、spring-context、spring-context-support和spring-expression(Spring表达式语言)等模块组成。spring-core 模块:提供了框架的基本组成部分,包括控制反转(Inversion of Control,IOC)和依赖注入(Dependency Injection,DI)功能。spring-beans 模块:提供了BeanFactory,是工厂模式的一个

2021-09-09 19:03:03 165

原创 Spring框架技术总结(一),Java自学宝典下载

<bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"></bean><bean id="userService" class="com.itheima.service.impl.UserServiceImpl"> <constructor-arg name="userDao" ref="userDao"></constructor-arg></bean&gt.

2021-09-09 19:01:24 339

原创 Spring框架入门基础,springcloud视频百度云

通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率其实AOP可以在不修改源代码的前提下,对程序进行增强!!Spring框架的AOP的底层实现1. Spring框架的AOP技术底层也是采用的代理技术,代理的方式提供了两种1. 基于JD..

2021-09-09 18:59:53 138

原创 Spring框架入门基础,linux学习视频

IoC – Inverse of Control,控制反转,将对象的创建权反转给Spring!!使用IOC可以解决的程序耦合性高的问题!!控制反转假设我需要做一个功能,在这个功能当中我需要调用servic层,然后再调用dao层,去取数据。在传统的javaEE开发中我就直接去new一个service 然后再new一个dao。但是在spring框架中,我们吧new service和new dao的权利交个spring框架,假设我需要使用我就直接去spring框架中寻找。等于说我的资源创建的权利交.

2021-09-09 18:58:16 215

原创 Spring总结以及在面试中的一些问题,真的醉了

4.简单的说一下spring的生命周期?1)在配置 元素,通过 init-method 指定Bean的初始化方法,通过 destroy-method 指定Bean销毁方法<beanid="lifeCycleBean"class="cn.itcast.spring.d_lifecycle.LifeCycleBean"init-method="setup"destroy-method="teardown"></bean>需要注意的问题:*  destroy-m

2021-09-09 18:56:45 67

原创 Spring创建和初始化的源码流程分析,真牛

[]()5.1 执行BeanFactoryPostProcessors的方法,先执行其子接口,然后再执行自己的接口[]()5.1.1 获取所有的BeanDefinitionRegistryPostProcessor[]()5.1.2 按照优先级执行BeanDefinitionRegistryPostProcessor后置处理器[]()5.1.2 按照优先级执行BeanFactoryPostProcessors后置处理器,与上面的流程一样先获取所有,再按照优先级挨个执行[]..

2021-09-09 18:54:57 55

原创 分布式ID(数据库多主模式,面试官让我回家等通知

实行这种方案后,就算其中某一台Mysql实例下线了,也不会影响DistributIdService,DistributIdService仍然可以利用另外一台Mysql来生成ID。但是这种方案的扩展性不太好,如果两台Mysql实例不够用,需要新增Mysql实例来提高性能时,这时就会比较麻烦。现在如果要新增一个实例mysql3,要怎么操作呢? 第一,mysql1、mysql2的步长肯定都要修改为3,而且只能是人工去修改,这是需要时间的。 第二,因为mysql1和mysql2是不停在自增的,对于mysql3的

2021-09-08 21:42:21 62

原创 写出我的第一个框架:迷你版Spring MVC,看了这篇文章我才真正理解了

DispatcherServlet@WebServlet是什么?其实,以前我们定义一个Servlet,需要在web.xml中去配置,不过在Servlet3.0后出现了基于注解的Servlet。仔细观察,你会发现,这个DispatcherServlet是自启动,而且传入了一个参数。要知道,在Spring MVC中,要想基于注解,需要在配置中指明扫描的包路径,就像这个样子:<context:component-scan base-package=“com.zfz.mys

2021-09-08 21:38:50 105

原创 关于多线程同步代码块的一点感悟,2021最新Java开发面试解答

e.printStackTrace();}}//往栈中压入字符stack.push©;System.out.println(“压入字符” + c);stack.notifyAll();}}}}//消费者线程public class Consumer extends Thread {private Stack stack;public Consumer(Stack stack) {super();this.stack = stack;}public void run() {

2021-09-08 21:35:28 61

原创 公司来了位阿里P8架构大神,看完他珍藏的纯手写,细说JVM内存模型

03 kafka的安装、管理和配置3.1 安装3.1.1 预备环境3.1.2 下载和安装kafka3.1.3 运行3.1.4 kafka基本的操作和管理3.2 Broker配置3.3 硬件配置对kafka性能的影响3.3.1 磁盘吞吐量/磁盘容量3.3.2 内存3.3.3 网络3.3.4 CPU3.3.5 总结04 kafka的集群4.1 为何需要kafka集群4.2 如何估算kafka集群中Broker的数量4.3 Broker如何加入kafka集群05 .

2021-09-08 21:33:50 93

原创 【线程,linux培训视频

/**创建一个可缓存的线程池,若线程数超过处理所需,缓存一段时间后会回收,若线程数不够,则新建一个线程*/public class ThreadDemo20 {public static void main(String[] args) { ExecutorService threadpool = Executors.newCachedThreadPool(); //这里要注意,你有几个任务他就会创建几个线程来执行任务,即便你的电脑是八核,但是还是会创建出5个线程

2021-09-06 20:19:03 49

原创 【线程】,linux内核教程推荐

*/public class ThreadDemo22 {public static void main(String[] args) { //创建单个可以延迟任务的线程池 ScheduledExecutorService threadpool = Executors.newSingleThreadScheduledExecutor(); System.out.println("添加任务的时间:"+new Date()); threadpool.schedule

2021-09-06 20:17:31 69

原创 【程序猿历程,Java高级开发面试总结

1、读书读书计划完成的很差,很差。序号书名开始时间结束时间进度1深入理解Java虚拟机(第二版)20201-12020-2-151/22Effective Java2020-8-82020-11-30完成3重构 改善既有代码的设计2020-12-162020-12-26完成4大型网站技术架构2020-12-82020-12-191/42、视频视频计划完成的很好,SSM、SpringBoot、狂神基础系列、颜群基础系列都已经看完了,数据结构与算法、JVM、设计模式、谷粒商场未能完成。2021年度计划

2021-09-06 20:15:42 92

原创 【程序猿历程】小时候的味道,面试必问知识点

2021-09-06 20:14:00 56

原创 【程序人生,springmvc基础教程

那应该问什么?我所投递的部门主要都做什么业务呢?公司主要用哪些技术栈呢?了解到了这些,才可以对症下药一方面对自己的工作有个认识,不要觉得我搞技术的不需要管业务,如果你碰到你不喜欢的业务,绝对会痛苦死另一方面了解公司所用的技术,比如MQ用的rabbitMQ还是kafka,不会赶紧学;git命令熟不熟,别一去代码都拉不下来。有了这些准备,才能给领导留下一个好印象,第一印象非常重要哦!善于求助刚进入公司,肯定有很多地方都不懂,包括工作上和生活上。最简单的,可能你都不知道厕所在

2021-09-06 20:12:25 59

原创 【硬核,快醒醒吧

$ git config --list编辑Git配置文件$ git config -e [–global]输出、设置基本的全局变量$ git config --global user.email$ git config --global user.name$ git config --global user.email “MyEmail@gmail.com”$ git config --global user.name “My Name”定义当前用户所有提交使用的作者邮箱。$ git co

2021-09-06 20:10:48 74

原创 【白话设计模式,揭秘

问题假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输, 因此大部分代码都在位于名为 卡车的类中。一段时间后, 这款应用变得极受欢迎。 你每天都能收到十几次来自海运公司的请求, 希望应用能够支持海上物流功能。如果代码其余部分与现有类已经存在耦合关系, 那么向程序中添加新类其实并没有那么容易。代码问题该如何处理呢? 目前, 大部分代码都与 卡车类相关。 在程序中添加 轮船类需要修改全部代码。 更糟糕的是, 如果你以后需要在程序中支持另外一种运输方式, 很可能需要再次对这些代码进行大幅修改.

2021-09-06 20:09:12 63

原创 【Java 基础】字符串,最新BAT大厂面试者整理的Java面试题目

String str = “hello123”;// 由于String是不可变字符串, 必须用变量接收str = str.replace(“123”, “666”); // hello666穿插个知识点,Eclipse 中 **抽取代码块**的快捷键:先选中代码块,ALT + SHIFT + M ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200420123523942.png?x-oss-process=image/watermark,type_

2021-09-05 21:42:32 79

转载 【2021软件创新实验室暑假集训,小白勿进

我先摘一段官方的解释:Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most

2021-09-05 21:40:46 105

原创 「吐血整理」2021年最新Java学习路线,撸了大神写的spring源码笔记

第三部分:JavaScript1. JavaScript概述2. JavaScript发展史3. JavaScript组成4. 数据类型5. 运算符6. 分支语句7. 循环语句8. 系统函数、自定义函数、匿名函数9. 常见事件10. 数组、字符串、日期对象11. 正则表达式12. BOM对象:window、history、location13. DOM概念14. DOM操作:创建、修改内容、删除15. Css样式操作第四部分:MySQL使用 或oracle数据库1..

2021-09-05 21:38:55 321 1

原创 「JVM,10年Java开发经验

(1) 基本概念:JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆 和 一个存储方法域。JVM是运行在操作系统之上的,它与硬件没有直接的交互。(2) 运行过程:我们都知道Java源文件,通过编译器,能够生产相应的.Class文件,也就是字节码文件,而字节码文件又通过Java虚拟机中的解释器,编译成特定机器上的机器码 。也就是如下:① Java源文件—->编译器—->字节码文件② 字节码文件—->JVM—->机器码每一种

2021-09-05 21:37:23 285

原创 「JVM 系列,高级Java都应该知道

1.1 类加载器的种类JVM 中内置了三个重要的 ClassLoader,除了 BootstrapClassLoader 其他类加载器均由 Java 实现且全部继承自java.lang.ClassLoader(图)类加载器的层次关系对于JVM来说,类加载器分为两种:启动类加载器:对于Hotsopt虚拟机来说,启动类加载器是用C++实现的,它属于虚拟机的一部分其他类加载器:这类加载器都使用Java语言实现,独立于虚拟机之外,并且全部继承于 java.lang.ClassLoader 这

2021-09-05 21:35:33 46

原创 云原生推动全云开发与实践(1),Java面试算法大全

云原生带来开发模式的革新,为开发者提供一些非常有优势的特点。​1)架构层面:云原生开发模式是模块化的架构,通过标准化的接口和协议进行通信。​2)应用交付和更新层面:可以进行持续的自动化的迭代、集成和交付。​3)运维层面:标准化、自动化的运维模式。​4)扩展性方面:可按需自动弹性扩展。​5)依赖性层面:具有良好的可移植性,即完全没有厂商锁定的问题,不依赖于系统环境和硬件。​6)企业组织与文化:跨职能沟通与合作顺畅,应对变化能力强。所以我们认为云原生正在驱动新的开发时代的到来,这是..

2021-09-03 20:49:45 140

原创 为什么阿里巴巴不建议在for循环中使用”,springmvc面试题高级

1、字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。这样设计有很多好处,比如可以缓存hashcode、使用更加便利以及更加安全等。但是,既然字符串是不可变的,那么字符串拼接又是怎么回事呢?字符串不变性与字符串拼接其实,所有的所谓字符串拼接,都是重新生成了一个新的字符串。下面一段字符串拼接代码:String s .

2021-09-03 20:46:29 102

原创 为了进大厂,算法题+JVM

这里就不多涉及,我们直接看技术面。技术面问题:======hashMap原理,put和resize过程线程池类型concurrentHashMap分段锁原理,用java8实现和java7有什么区别B-树B+树区别,数据库索引原理,组合索引怎么使用?最左匹配的原理spring生命周期,几种scope区别,aop实现有哪几种实现,接口***和类***会有什么区别斐波拉契数列非递归实现短URL实现让你来设计咸鱼,你会怎么设计?模型设计linux常用指令,软

2021-09-03 20:41:45 110

原创 Java并发编程—实现线程的方式只有一种,阿里Java笔试

new Thread(a).start();[]()继承 Thread 类------------------------------------------------------------------------------class MyThread extends Thread { // 这就是一个多线程的操作类private String name ; // 定义类中的属性public MyThread(String name) { // 定义构造方法

2021-09-02 22:05:16 64

原创 Java岗大厂面试百日冲刺 - 日积月累,每日三题,【面试总结】

while (ssize < DEFAULT_CONCURRENCY_LEVEL) { ++sshift; ssize <<= 1; } int segmentShift = 32 - sshift; int segmentMask = ssize - 1;   由此可以看出:因为ssize用位于运算来计算(`ssize <<=1`),所以Segment的大小取值都是以2的N次方,无关concu...

2021-09-02 22:03:35 93

空空如也

空空如也

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

TA关注的人

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