自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java模拟面试总结,springboot教程推荐

@SpringBootApplication{@SpringBootConfiguration(标识配置类)、@EnableAutoConfiguration(自动配置基于@import)、@ComponentScan (扫描路径设置)}启动流程:第一部分进行SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器,第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境模块、及核心的创建上下文环境模块,第三部分是自动化配置模块,该模块作为springb

2021-12-18 12:17:33 251

原创 java架构之路(多线程)synchronized详解以及锁的膨胀升级过程

synchronized的使用《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享我们先来看一段简单的代码public class SynchronizedTest {private static Object object = new Object();public static void main(String[] args) {synchronized (objec

2021-12-18 12:15:52 217

原创 Java技术好文精选整理:Java基础+Spring全家桶,mybatis的实现原理

for循环用了那么多次,但你真的了解它么?我就问你,会不会工厂模式?一文看懂 HashMap 中的红黑树实现原理如果有人再问你 Java IO,把这篇文章砸他头上掌握 HashMap 看这一篇文章就够了Java:前程似锦的 NIO 2.0深入浅出分析 Collection 中的 List 接口Java 又双叒 叕发布新版本,这么多版本如何灵活管理?Java Serializable:明明就一个空的接口嘛二.面试篇=====可以说是篇篇经典了,这..

2021-12-18 12:13:37 242

原创 Java并发学习笔记:ReentrantReadWriteLock(良心长文,java编写视频播放器

MAX_COUNT 值为 (1 << SHARED_SHIFT) - 1,也就是 1111111111111111(二进制,16个1),这是16位表示的极限了。所以超过时,会抛出异常。不得不说,这块操作还是很巧妙的。如果我自己实现,肯定是重新定义两个属性,一个表示读,一个表示写。人家这还是用state变量,用这种巧妙的操作让一个变量表示两个状态,这样子还能继续用关于state的函数,确实很厉害。而且MAX_COUNT十进制是65536,感觉应该不会有什么程序锁的计数能达到这么多吧。。。写锁

2021-12-18 12:09:11 166

原创 Java市场饱和了吗?现在转行学习Java会不会太晚了?,java常见排序算法面试题

现在赚钱不容易,培训班动辄大几万的报名费,最后学不成培训班也不会把这个钱退回来,对同学们来说会是很大的损失。所以更好的建议是先自学一段时间再做决定,按照专业程序员的要求学上3个月,然后看自己是否依然很喜欢,看自己进步是不是比较快。如果答案是肯定的,说明自己是适合做开发的,再去报班或者接着自学,大概率会有比较好的发展。如果过了3个月发现自己学不 下去了,说明自己不适合干这行,可以接着从事原来的行业,三百六十行行行出状元,自学3个月自己也没有多少损益,比盲目地去直接报班要省大几万。Java入门自学指南其实计

2021-12-18 12:06:57 372

原创 Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day19,2021最新Java中级面试题目汇总解答

作者:一叶知秋车票面试题1:先说一下大家为什么要选择ConcurrentHashMap?面试题2:ConcurrentHashMap在JDK1.7、1.8中都有哪些优化?追问1:JDK1.8为什么使用Synchronized来代替ReentrantLock?追问2:讲讲ConcurrentHashMap的 get put 过程?JDK1.7 —— put操作JDK1.7 —— get操作JDK1.8 —— put操作JDK1.8 —— get操作

2021-12-18 12:05:01 739

原创 Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day13,java并发编程实战王宝令

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。Web服务器利用自己的私钥解密出会话密钥。Web服务器利用会

2021-12-18 12:02:37 3385

原创 Java程序员大厂四面,成功拿到美团offer, 我总结了这份面试真题

public Student(String name, String stuNumber) {super(name);this.stuNumber = stuNumber;}@Overridepublic void talk() {System.out.println(“student talk”);}}复制代码重写:需要有继承关系,子类重写父类的方法。一般使用@Override注解标识,不标识也无所谓。上面代码中Student类就重写了Person类的talk方法。重载:函数名相同,参数

2021-12-17 15:42:44 1048

原创 Java版流媒体编解码和图像处理(JavaCPP+FFmpeg),java项目技术架构图

这个git项目中有多个文件夹,本篇的源码在javacv-tutorials文件夹下,如下图红框所示:javacv-tutorials文件夹下有多个子工程,本篇的源码在ffmpeg-basic文件夹下,如下图红框:开始编码为了统一管理源码和jar依赖,项目采用了maven父子结构,父工程名为javacv-tutorials,里面有一些jar的版本定义,就不多说了在javacv-tutorials下面新建名为ffmpeg-basic的子工程,其pom.xml内容如下,可见仅用了Jav.

2021-12-17 15:39:18 926

原创 java总复习(二),linux基础及应用教程第二版思考题

一般使用,实例类extends抽象类,实现里面的抽象方法,但不规定是全部实现。抽象类相比实例类来说,抽象类中可以包含抽象方法,但是不能实例化对象,而实例类相反。含有抽象方法的类一定是抽象类抽象类一定含有抽象方法—》错误!!!3.接口:(基于jdk1.8)使用interface修饰接口不能实例化对象抽象方法的默认修饰:public abstract常量的默认修饰:public static final接口的使用:class Test implements 接口..

2021-12-17 15:37:02 133

原创 Java异常宝典,mybatis操作数据库的原理

类型强制转换异常,例如:String str = “a”;Integer num =(Integer )str;5、IllegalArgumentException传递非法参数异常,此异常表明向方法传递了一个不合法或不正确的参数。你看看传值的方法是否参数不正确6、NumberFormatException数字格式异常,例如:String str = “a”;Integer.parseInt(str);7、ClientAbortException: java.io.IOException异常原因是

2021-12-17 15:34:40 106

原创 Java应届生如何找到心仪工作?只要你啃透这些大厂必问面试题,Offer拿到手软

PDF文件大致内容示意:1、面向对象的特征有哪些方面?2、访问修饰符 public,private,protected,以及不写(默认)时的区别?3、String 是最基本的数据类型吗?4、float f=3.4;是否正确?5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?6、Java 有没有 goto?7、int 和 Integer 有什么区别?8、&和&&的区别?9、解释内存中的栈(sta

2021-12-17 15:30:51 628

原创 Java应届生大学四年怎么做,可以毕业就进入华为工作,上个月成功拿到阿里P7offer

1 毕业之际概况=======================================================================其实在18年11月秋招就拿了华为南研所的offer了,基本宣告结束了大学校招历程,是时候写下总结了,再不写估计很多东西都忘了。从学习Java开始就在各种程序员社区混了,大二第一个知道了牛客网,从别人的学习、求职、工作经历中越发感受到很多的正能量,也本着日行一善的原则,向学弟学妹们,尤其和我一样的双非本科生学弟学妹们传递点正能量,因为笔者也是双非,

2021-12-17 15:28:32 538

原创 java并发容器ConcurrentHashMap源码分析,java分布式面试题及答案

2.1 ConcurrentHashMap构造方法与数据结构分析/**Creates a new, empty map with the specified initialcapacity, load factor and concurrency level.@param initialCapacity the initial capacity. The implementationperforms internal sizing to accommodate this man

2021-12-17 15:26:15 141

原创 java核心技术(8)第四章 类,mongodb面试

所以在写类的get方法时,不要返回引用可变对象。因为他们实际上引用的是同一个对象,如果在外部对这个返回的对象进行修改,那么类对象的属性也会被修改。举个栗子:Apple a = …;Date produceTime =a.getProduceTime();此时priduceTime 和a.produceTime引用同一个对象如果改变produceTime,a.produceTime也会被改变。如:produceTime.setTime(365000000);a.produceTime也会被改变所

2021-12-16 13:38:40 488

原创 Java架构师成长路线总结2021版(持续更新),Java开发了解这些自然无惧面试

经常会有很多人说:“不是谁都可以成为架构师的。”“我们公司用的就是那点东西,不需要会太多。”“技术够用就行了。”…其实他们说的不错,但我也总觉得,程序员可以是一个非常热血的职业。即使不是人人都可以成为架构师,但是在成为架构师的路上成就自己一番,别有一种满足感不是吗?成为程序员不难,但是你能够在程序员这条路上真正的热血一把吗?以下是我们的成长路线总结内容,希望能够帮助你们!文章目录并发编程设计模式常用框架JVM分布式消息中间件微服务MySQL

2021-12-16 13:37:08 216

原创 Java应届生大学四年怎么做,可以毕业就进入华为工作,致Java高级工程师的一封信

=======================================================================其实在18年11月秋招就拿了华为南研所的offer了,基本宣告结束了大学校招历程,是时候写下总结了,再不写估计很多东西都忘了。从学习Java开始就在各种程序员社区混了,大二第一个知道了牛客网,从别人的学习、求职、工作经历中越发感受到很多的正能量,也本着日行一善的原则,向学弟学妹们,尤其和我一样的双非本科生学弟学妹们传递点正能量,因为笔者也是双非,虽然现在好像双一流

2021-12-16 13:33:42 341

原创 Java并发原理抽丝剥茧,读写锁ReadWriteLock实现深入剖析

为了加深对读写锁的理解,在分析JDK实现的读写锁之前我们先来看一个简单的读写锁实现版本。其中三个整型变量分别表示持有读锁的线程数、持有写锁的线程数以及请求获取写锁的线程数,四个方法分别对应读锁、写锁的获取和释放操作。acquireReadLock方法用于获取读锁,如果持有写锁的线程数量或请求读锁的线程数大于0则让线程进入等待状态。releaseReadLock方法用于释放读锁,将读锁线程数减一并唤醒其它线程。acquireWriteLock方法用于获取写锁,如果持有读锁的线程数量或持有写锁的线程数量大于0则

2021-12-16 13:31:27 167

原创 Java对象的复制四种方式,Java自学资料

Student stu1 = new Student();stu1.setNumber(12345);Student stu2 = (Student)stu1.clone();System.out.println(“学生1:” + stu1.getNumber());System.out.println(“学生2:” + stu2.getNumber());stu2.setNumber(54321);System.out.println(“学生1:” + stu1.getNumber());S

2021-12-16 13:26:51 2406 2

原创 Java实现RPC(源码),安利10个让你爽到爆的IDEA必备插件

import com.ruider.common.ServiceInformation;/**BIO服务*/public interface NetIO {/**客户端发送请求到其他服务端@param serviceInformation@return*/Object send (ServiceInformation serviceInformation);/**本机作为服务端接受请求并且处理请求@param port*/void recv (i

2021-12-16 13:25:16 840

原创 Java基础知识面试题,字节跳动Java面试凉凉经

七、如何将字符串反转?将对象封装到stringBuilder中,调用reverse方法反转。八、String 类的常用方法都有那些?1、常见String类的获取功能length:获取字符串长度;charAt(int index):获取指定索引位置的字符;indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引;substring(int start):从指定位置开始截取字符串,默认到末尾;substring(int start,int end

2021-12-16 13:20:40 81

原创 Java时间复杂度与空间复杂度,腾讯java开发面试流程

1.算法效率2.时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3常见时间复杂度计算举例3.空间复杂度0. 认识常数时间操作============常数时间的操作一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作big O)来表示《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R

2021-12-15 11:52:39 60

原创 Java开发架构篇:领域驱动设计架构基于SpringCloud搭建微服务

itstack-demo-ddd-case└── src├── main│ ├── java│ │ └── org.itstack.demo│ │ ├── application│ │ │ ├── MallRuleService.java│ │ │ └── MallTreeService.java│ │ ├── domain│ │ │ ├── rule│ │ │ │ ├── m

2021-12-15 11:51:07 200

原创 Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day27,全网最全原理讲解

为啥我们总说Nginx好用?Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接;高度的模块化和自由软件许《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享可证使得第三方模块(插件)层出不穷(开源时代的产物);Nginx是跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris,AIX,Mac OS等操作系统上;

2021-12-15 11:47:41 60

原创 Java实习生面试题整理,mysql主从复制原理

String getName() {return this.name;}void setName(String name) {this.name = name;}String getObjectAddress() {return super.toString();}}public class PassByValueExample {public static void main(String[] args) {Dog dog = new Dog(“A”);System.out.pr

2021-12-15 11:45:26 133

原创 Java学习笔记--JDBC快速入门,java技术上难以解决的问题

“jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8”,“root”,“123456”);//4.使用Statement执行操作// //4.1定义SQL语句// String sql=“select * from student”;// //4.2获取SQL的对象// stmt=conn.createStatement()

2021-12-15 11:40:50 942

原创 Java如何简单实现一个定时器,java分布式事务面试题

public Timer(Runnable runnable, long after)《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享{this.runnable = runnable;//这里的时间,我们就定义成多长时间之后去执行任务,也就是延迟时间 = 当前时间+要延迟的时间this.time = System.currentTimeMillis() + after

2021-12-15 11:39:14 77

原创 JAVA多线程和并发基础面试问答,吊打面试官你也可以,springcloud视频教程全集

在多线程程序中,多个线程被并发的执行以提高程序的效率,CPU不会因为某个线程需要等待资源而进入空闲状态。多个线程共享堆内存(heap memory),因此创建多个线程去执行一些任务会比创建多个进程更好。举个例子,Servlets比CGI更好,是因为Servlets支持多线程而CGI不支持。3. 用户线程和守护线程有什么区别?当我们在Java程序中创建一个线程,它就被称为用户线程。一个守护线程是在后台执行并且不会阻止JVM终止的线程。当没有用户线程在运行的时候,JVM关闭程序并且退出。一个守护线程创建的子

2021-12-15 11:36:55 83

原创 Java基础知识点总结,java高级架构师pdf

纸上得来终觉浅,绝知此事要躬行。笔者之前对每部分的内容对做了比较深入的学习以及代码实现,基本上比较全面地讲述了每一个Java基础知识点,当然可能有些遗漏和错误,欢迎读者指正。Java基础知识点总结===============每部分内容会重点写一些常见知识点,方便复习和记忆,但并不是全部内容。面向对象三大特性========继承:一般类只能单继承,内部类实现多继承,接口可以多继承封装:访问权限控制public > protected > 包 > private 内部类

2021-12-15 11:34:38 119

原创 JSP的Web监听器(Listener),java入门书籍下载

}}然后在web.xml中配置该监听器,在web-app中添加:com.test.MyListener在JSP中添加访问人数:在线人数:<%=session.getAttribute(“userNumber”) %>当我使用我的浏览器访问时,执行结果如下:当打开另一个浏览器访问时:监听器的分类====================================================================按照监听的对象划分:按照监听对象

2021-12-14 11:09:12 454

原创 Java面试题及答案汇总(一),2021大厂Java面试真题集锦

1 public boolean equals(Object obj) {2 return (this == obj);3 }原来 equals 本质上就是 ==。那问题来了,两个相同值的 String 对象,为什么返回的是 true?代码如下:1 String s1 = new String(“老王”);2 String s2 = new String(“老王”);3 System.out.println(s1.equals(s2)); // true同样的,当我们进入 Strin

2021-12-14 11:05:47 709

原创 java面试常被问到的 JDK 命令,你知道几个?,java百度人脸识别

-V:不输出路径,只输出进程号和jar我们依次输入试下,如下图Jinfo========================================================================通过上一步我们可以获得对应 JVM 的进程号,这为我们后续的操作提供了便利,后续的操作都会使用到进程号。我们先使用一下命令,在使用前我们先获取进程号,我这里服务器运行的进程号为 2528,然后输入jinof 2528通过上图,我们看到当前 JVM 的版本以及其他详细信息,并且.

2021-12-14 11:04:15 868

原创 Java进阶面试合集笔记——19个技术栈,java实用教程第五版课后答案解析

hrow 和 throws 的区别?final、finally、finalize 有什么区别?try-catch-finally 中哪个部分可以省略?try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?八、网络====http 响应码 301 和 302 代表的是什么?有什么区别?forward 和 redirect 的区别?简述 tcp 和 udp的区别?tcp 为什么要三次握手,两次不行吗?为什..

2021-12-14 11:02:00 410

原创 Java虚拟机(JVM)你只要看这一篇就够了,java工程师进阶路线

类似于 Object obj = new Object(); 创建的,只要强引用在就不回收。软引用SoftReference 类实现软引用。在系统要发生内存溢出异常之前,将会把这些对象列进回收范围之中进行二次回收。弱引用WeakReference 类实现弱引用。对象只能生存到下一次垃圾收集之前。在垃圾收集器工作时,无论内存是否足够都会回收掉只被弱引用关联的对象。虚引用PhantomReference 类实现虚引用。无法通过虚引用获取一个对象的实例,为一个对象设置虚引用关联的唯一目的.

2021-12-14 10:59:37 125

原创 Java线程池趣味事:这不是线程池,java入门教程视频

要想写出高性能高并发的应用,自然有许多关键,如io,算法,异步,语言特性,操作系统特性,队列,内存,cpu,分布式,网络,数据结构,高性能组件。胡说一通先。回到主题,线程池。如果说多线程是提高系统并发能力的利器之一,那么线程池就是让这个利器更容易控制的一种工具。如果我们自己纯粹使用多线程基础特性编写,那么,必然需要相当老道的经验,才能够驾驭复杂的环境。而线程池则不需要,你只需知道如何使用,即可轻松掌控多线程,安全地为你服务。1. 常见线程池的应用样例==================线程池,不

2021-12-14 10:57:24 89

原创 Java框架总结,深入java虚拟机百度网盘

(3)Struts2的优势实现了MVC模式,层次结构清晰,使程序员只需要关注业务逻辑的实现。丰富的标签库,大大提高了开发的效率。Struts2提供丰富的拦截器实现。通过配置文件,就可以掌握整个系统各个部分之间的关系。异常处理机制,只需在配置文件中配置异常的映射,即可对异常做响应的处理。Struts2的可扩展性高。面向切面编程的思想在Struts2中也有了很好的体现。体现了拦截器的使用,拦截器是一个一个的小功能模块,用户可以将这些拦截器合并成一个大的拦截器,这个

2021-12-14 10:51:12 214

原创 linux常用命令(一),关于Java开发的面试经验总结

● tmp:该目录主要用于存放临时文件。lost+found:当文件从任何类型的故障或者问题中恢复之后,如果内核不能确定它们在文件系统中的正确位置,则就将它们存放在该目录中。4 文件类型使用shell命令:ls -l列出当前工作目录的文件列表信息;b: 块设备文件c: 字符设备文件l: 连接文件d:  目录-:  普通文件5 linux的基本配置*与主机信息相关的配置文件(/etc/hosts,/etc/hostname)与系统引导登录的相关的配置文件(/etc/g

2021-12-13 11:34:11 376

原创 Linux内核结构组成之进程调度,老男孩linux运维期中架构

进程读取的上下文,它表示进程读取的执行状态;进程当前执行目录;进程服务的文件和目录;进程的访问权限;内存和其他分配给进程的系统资源。每个进程都有一个进程号,即PID,一个PID唯一的标识一个进程,一个进程创建新进程称为创建子进程,这个进程称为父进程。所有进程追溯到其祖先最终都会落到进程号为1的进程身上,这个进程叫init进程,是内核自启动后的第一个启动的进程,也是其他所有进程的父进程。如果某个父进程在它的子进程结束之前终止了,则失去了父进程的子进程就会以init进程作为父进..

2021-12-13 11:32:17 319

原创 Kurento实战之四:应用开发指南,linux基础教程第2版

| messageId | 处理方法 | 说明 || — | — | — || PROCESS_SDP_OFFER | handleProcessSdpOffer | 收到前端SDPOffer数据后的处理逻辑 || ADD_ICE_CANDIDATE | handleAddIceCandidate | 收到前端ICE数据后的处理逻辑 || STOP |《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1

2021-12-13 11:30:45 896

原创 Kotlin(1)-lambda表达式和高阶函数操作符,linux架构

这是一个kotlin文件:/**比如说这样,我要给这个doFirst方法传一个执行过程,类型就是一个输入2个Int,输出一个Int的拉姆达表达式*/fun calculate(p1: Int, p2: Int, event1: (Int, Int) -> Int, event2: (Int, Int) -> Int) {println(“执行doFirst”)println(“执行event1 ${event1(p1, p2)}”)println(“执行event2 ${even

2021-12-13 11:28:30 1997

空空如也

空空如也

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

TA关注的人

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