- 博客(31)
- 收藏
- 关注
原创 Java程序员如何加入自己理想的大厂呢?本人来分享亲身经历的腾讯Java技术岗的面经。
给你一个系统,后台的逻辑已经实现了,但是前端加载很慢,怎么检测。以后可能要学习很多新技术,你怎么看。项目中遇到的困难(提前想好,并且把实现或者优化方法说清楚)。系统的量级、pv、uv 等。应对高并发的解决办法(分布式)。在项目中主要负责了哪些工作。nginx 的负载均衡。分布式缓存的一致性,服务器如何扩容(哈希环)。HR面=======平常怎么学习的兴趣爱好觉得自己前面几轮面试怎么样除了Java还研究过其它什么技术(我说AI,区块..
2022-04-22 17:09:10
220
原创 Java有线程安全的set吗?,跳槽薪资翻倍
知乎热问:国家何时整治程序员的高薪现象?太可怕了!注解+反射优雅的实现Excel导入导出(通用版)Fluent Mybatis 牛逼!Nginx 常用配置清单这玩意比ThreadLocal叼多了,吓得我赶紧分享出来。来源:blog.csdn.net/li_canhui/article/details/91393247在多线程环境下,要使用线程安全的集合,比如,ConcurrentHashMap是线程安全的HashMap,CopyOnWriteArrayList是线程安全的ArrayList。那么
2022-04-22 17:05:54
270
原创 Java并发体系详解,聊一聊MySQL数据库中的那些锁
在虚拟机启动运行时,会创建多个线程,数据区中有的模块是线程共享的,有的是线程私有的:线程共享:元数据区、堆Heap;线程私有:虚拟机栈、本地方法栈、程序计数器;单个CPU在特定时刻只能执行一个线程,所以多线程通过几块空间的使用,然后不断的争抢CPU的执行时间段。三、常见概念======1、线程优先级线程调度器倾向执行线程优先级高的线程,线程优先级高说明获取CPU资源的概率高,或者获取的执行时间分片多,被执行的概率高但不代表优先级低的一定最后执行。2、守护线程守护线程是支持辅助型线程,主要.
2022-04-22 17:01:43
806
原创 Java基础12 面向对象~多态,java中级开发面试知识点
/**美国人*/class American extends Human{public void eat(){System.out.println(“美国人拿刀叉吃”);}}/**印度人*/class Indian extends Human{public void eat(){System.out.println(“印度人拿手吃”);}}[](()多态的实现方式多态有几种实现的方式:将子类的对象赋值给父类的引用对象调用父类的方法public class
2022-04-22 16:59:33
130
原创 Java 方法的使用(方法重载、形参和实参调用关系,作为Java程序员都应掌握
public class Demo01 {public static void main(String[] args) {System.out.println(add1(10, 20));System.out.println(add2(10, 20,30));System.out.println(add3(10.0, 20.0));}public static int add1(int x, int y) {return x + y;}public static int add2(int
2022-04-22 16:57:38
247
原创 Java BSON使用,Java研发岗必问30+道高级面试题
| 最大值 | 比所有值大 | 127 | { "key" : {"$maxKey": 1 } } |Note:不同类型字段的值进行比较时,比较优先级权值越大,该类型的值就越大。[](()Java 构造 BSON 数据类型整数/浮点数Java BSON 构造整数/浮点数类型// {a:123, b:3.14}BSONObject obj = new BasicBSONObject(); obj.put("a", 123); obj.put("b", 3.14); // or BSON
2022-04-22 16:55:36
179
原创 interrupted()和isInterrupted()详述,百万数据分页查询的方法及其优化方式
}}interrupt0();}/**测试当前线程是否被中断,返回中断标志*/public static boolea 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 n interrupted() {return currentThread().isInterrupted(true);}/**测试当前线程是否被中断,返回中断标志*/public boolean isInterrupted() {return isInterrup
2022-04-22 16:52:31
110
原创 Java中为什么[this]可以调用当前实例?
简单点说,方法的执行过程可看作是一个个栈帧从入栈到出栈的过程。栈帧中存储了方法的:局部变量表、操作数栈、动态连接和方法返回地址等信息。当使用javac程序将源码编译成字节码后,一个方法的栈帧需要多大的局部变量表,多深的操作数栈就已经被计算出来,并且写入到方法表的【Code】属性中了,这一切和程序运行时无关。换言之,一个方法它有多少个局部变量,在编译时就已经确定,不会随着程序的运行而改变。今天我们要探究的【this】问题,就在方法栈的局部变量表中。[](()3. 分析=======
2022-04-21 13:25:57
126
原创 JavaWeb学习笔记9——使用过滤器解决乱码
/**Servlet Filter implementation class EncodingFilter*/@WebFilter(“/EncodingFilter”)public class EncodingFilter implements Filter {/**Default constructor.*/public EncodingFilter() {// TODO Auto-generated constructor stub}/**@see Filter#des
2022-04-21 13:24:19
172
原创 JavaWeb - XML,XML的解析,Tomcat
##二、Tomcat###1、web相关概念的介绍####1.1 动态资源和静态资源(1)静态资源:html+css+js(2)动态资源:数据是变化的(3)动态资源的开发技术* sun公司:jsp servlet* php* asp…####1.2 c s 和 b s结构(1)c s:客户端 服务器常见的应用:qq、迅雷…优点:需要在本地电脑安装软件,减轻服务器的压力缺点:服务器如果升级,客户端软件也需要升级(2)b s:浏览器 服务器常见的应用:网银、支付宝、12306…
2022-04-21 13:22:02
134
原创 Java 集合源码学习笔记,Java 程序员面试必备基础知识
3.2add方法3.3remove方法3.4get方法3.5set方法4、List集合总结四、Map集合=======1、Map介绍1.1为什么需要Map1.2Map与Collection的区别1.3Map的功能2、散列表介绍《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 1散列表工作原理3、红黑树介绍3.1回顾二叉查找树3.2知新2-3树3.3从2-3树到红黑树3...
2022-04-21 13:20:23
143
原创 java springboot经典面试题分享
9.@ImportResource导入 Spring 的配置文件,让配置文件里面的内容生效;这种方式比如一个类没有使用 @Componet 注解注册进容器,则使用自动装配 autowired 找不到。引入文件后,即可找到。Spring Boot 里面没有 Spring 的配置文件,我们自己编写的配置文件,也不能自动识别;想让 Spring 的配置文件生效,加载进来; @**ImportResource** 标注在一个配置类上10. springboot 的 profile 加载在配置文件的.
2022-04-21 13:18:50
705
原创 Kubernetes官方java客户端之二:序列化和反序列化问题
上述代码运行起来,在浏览器访问该接口时,控制台抛出以下错误,IntOrString.getStrValue方法,就是前面咱们看过的那段,IntOrString中实际上保存的是int数据,但是Jackson执行了其getStrValue方法:至于为什么Jackson会执行getStrValue方法,篇幅原因就不在此展开了,简单提一下,在java客户端的BeanPropertyWriter类中,选择方法的逻辑如下图,红框中展示了判定逻辑,此处getStrValue方法命中了该逻辑,如果您尝试用在红框处.
2022-04-20 14:36:20
216
原创 JVM内存溢出分析:堆内存溢出+虚拟机
Exception in thread “Thread-0” java.lang.StackOverflowError 的异常。(2)OutOfMemoryError:如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出 OutOfMemoryError。我们可以这样理解,虚拟机中可以供栈占用的空间≈可用物理内存 - 最大堆内存 - 最大方法区内存,比如一台机器内存为 4G,系统和其他应用占用 2G,虚拟机可用的物理内存为 2G,最大堆内存为 1G,最大方法区内存为 512M,那可供栈占有的内存大约.
2022-04-20 14:34:11
213
原创 JSP的原生Ajax与解析Json
options=options||{};optoins.type=(options.type||‘GET’).toUpperCase();options.dataType=options.dataType||‘json’;params=formatParams(options.data);//创建-第一步var xhr;//非IE6if(window.XMLHttpRequest){xhr=new XMLHttpRequest();}else{//ie6及其以下版本浏览器xhr=Act
2022-04-20 14:32:30
328
原创 Jib构建镜像问题从定位到深入分析
[](()环境信息操作系统:macOS Mojave 10.14.6 (18G103)JDK:10.14.6 (18G103)Docker:10.14.6 (18G103)SpringBoot:2.1.8.RELEASEJib插件版本:1.6.1[](()源码下载为了重现问题,我将出现问题的SpringBoot工程上传到GitHub,地址和链接信息如下表所示:| 名称 | 链接 | 备注 || :-- | :-- | :-- || 项目主页 | https://g
2022-04-20 14:30:51
194
原创 Java面试必备:阿里首发面试通关宝典震撼开源,文档
什么是守护线程?join ()方法的作用是什么?如何通过JDBC访问数据库?JDBC处理事务采用什么方法?Class.forName的作用是什么?Statement、PreparedStatement和CallableStatement有什么区别?getString ()方法与getObject ()方法有什么区别?使用JDBC时需要注意哪些问题?什么是JDO?JDBC与Hibernate有什么区别?…2.Java WebServ..
2022-04-20 14:29:11
85
原创 Java面试-volatile的内存语义
原子性。对任意volatile变量的读/写具有原子性,但类似volatile++这种复合操作不具有原子性。[](()2、volatile写-读建立的happens-before关系对于程序员来说,我们更加需要关注的是volatile对线程内存的可见性。从JDK1.5(JSR-133)开始,volatile变量的写-读可以实现线程之间的通信。从内存语义的角度来说,volatile的写-读与锁的释放-获取有相同的内存效果。volatile的写和锁的释放有相同的内存语义volatile的读和.
2022-04-20 14:27:23
146
原创 java进阶篇02、注解、反射与动态代理
一、注解声明一个注解使用@interface关键字;public @interface Test{String value(); //无默认值int age() default 1; //有默认值}1、元注解对注解类进行注解的注解我们称之为元注解;常用的元注解有四个;@Target标记另一个注解类,声明该注解可以作用的范围;ElementType.ANNOTATION_TYPE 可以应用于注解类型。ElementType.CONSTRUCTOR 可以应用于构造函数。ElementTy
2022-04-20 14:25:44
119
原创 Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子(1)
if(syn == 3) break;t++;}syn == 3 ? cout << t : cout << -1;}2、一个数轴上共有 N 个点,第一个点的坐标是度度熊现在位置,第 N-1 个点是度度熊的家。现在他需要依次的从 0 号坐标走到 N-1 号坐标。但是除了 0 号坐标和 N-1 号坐标,他可以在其余的 N-2 个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离?解答:从 N-2 个坐标中选出一个点,并..
2022-04-20 14:19:25
66
原创 Java学习路线图(如何快速学Java)
流程控制面向对象的概念Java语法this指针、重写和重载、final、static等等这些基础的东西集合(包括泛型)常用的集合类IO流IO流代码的编写(理解这些知识点,能够在有提示的情况下码出代码,但不要为了一些细节钻牛角尖)简单过一遍的知识:异常多线程网络编程反射机制(你得知道这个知识点是干嘛用的,为什么要学这个知识点,能看懂具体的代码!)对于上面所说深入理解的知识点,我个人是非常建议在学习期间写笔记(博客)的..
2022-04-20 14:16:55
351
1
原创 Java-教你简单玩扑克
我们来看看效果很明显可以看出牌的顺序已经发生了变化,而且是没有规律的,那说明我们洗牌成功3.3这里要特别注意洗牌中的交换操作——swap()操作/***这里有一个犯错的点,我们以前在发生两个数值交换的时候总是定义一个临时变量如交换整型的a和b {int x = a,a = b,b = x};而在这里是面向对象,是方法,使用我们应该调用方法来实现交换操作也就是使用list中的set方法,*/private static void swap(List list,int in
2022-04-19 13:19:39
143
原创 IDEA的Docker插件实战(Docker-compose篇)
[](()准备工作在IDEA上建好与远程Docker服务的连接,如下图所示,IEDA连接的Docker服务部署在IP为192.168.50.75的服务器上: Java开源项目【ali1024.coding.net/public/P7/Java/git】注意:远程Docker所在电脑上,此时没有任何Docker镜像和容器,空空如也[](()使用Docker-compose插件该插件的作用相对简单:让远程Docker按照指定的docker-compose.yml编排运行容器;接下来的实战会创建一
2022-04-19 13:15:44
2735
1
原创 GX Works2、MX OPC 6
步骤三:在MX OPC Configurator中,添加虚拟PLC连接。选择Address Space—>New MX Device 步骤四:选择Dev02—>New Group—>New Data Tag,将GX Works中的软元件进行一一对应。![](https://img-blog.csdnimg.cn/20200603152542374.png?x-oss-process=imag 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲
2022-04-19 13:14:08
2590
原创 三面美团终拿offer,分享面试题:Spring
Broadcast Cluster:广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)通常用于通知所有提供者更新缓存或日志等本地资源信息。总结:在实际应用中查询语句容错策略建议使用默认Failover Cluster,而增删改建议使用Failfast Cluster或者使用Failover Cluster(retries=”0”)策略防止出现数据重复添加等等其它问题。建议在设计接口时候把查询接口方法单独做一个接口提供查询。2、使用dubbo遇到过哪些问题?增加提供服务版本号和.
2022-04-11 17:41:28
67
原创 内存屏障在CPU、JVM、JDK中的实现
首先是现代编译器的代码优化和编译器指令重排可能会影响到代码的执行顺序。其次还有指令执行级别的乱序优化,流水线、乱序执行、分支预测都可能导致处理器次序(Process Ordering,机器指令在CPU实际执行时的顺序)和程序次序(Program Ordering,程序代码的逻辑执行顺序)不一致。可惜不影响语义依旧只能是保证单核指令序列间,单核时代CPU的Self-Consistent特性在多核时代已不存在(Self-Consistent即重排原则:有数据依赖不会进行重排,单核最终结果肯定一致)。除此还有
2022-04-10 15:31:01
448
原创 全网最全一篇数据库MVCC详解,不全你打我,最新Java高级面试题汇
一、前言最近公司项目准备开始重构,框架选定为 Spring Boot ,本篇主要记录了在 IDEA 中搭建 Spring Boot Maven 多模块项目的过程。这篇文章可以说是完全的一篇实战项目干货,感兴趣的朋友们可以继续看下去快照读的实现是基于多版本并发控制,即MVCC,既然是多版本,那么快照读读到的数据不一定是当前最新的数据,有可能是之前历史版本的数据。如下操作是快照读:不加锁的select操作(注:事务级别不是串行化)快照读与mvcc的关系===========MVCCC是“维持
2022-04-10 15:27:51
278
原创 入职字节跳动一年,附上百度,2022国内知名大厂Java岗面经
前言锁是一种用来控制多线程访问共享资源的工具。通常,锁可以独占共享资源:同一时间只有一个线程可以获得锁,并且所有访问共享资源的线程都必须首先获得锁。前面我们介绍过了synchronized,使用synchronized的方法和代码块作用域机制使得使用监视器锁更加简单,并且帮助避免了许多关于锁的常见编程错误,比如锁未及时释放等问题。但是有时候我们需要更灵活的使用锁资源,例如,一些遍历并发访问的数据结构的算法需要使用“手动”方法,或者“锁链”:你先获得节点A的锁,然后是节点B,然后释放A获得C,再释放B获得D
2022-04-10 15:26:13
1101
原创 做了6年Java开发,海投28家简历被拒,海康威视java面试题及答案
前言今年我也33了,离传说中不好找工作的35岁又更近了。说没有焦虑是对自己撒谎,于是我采访了一些人,自己思考了下,写下了这篇文章,希望能有些共鸣。先看看大家的态度:色老力衰,不好忽悠,不能带头加班老油条,学不动,加班就是磨洋工关键还是贡献的价值。能不能给业务带来价值找背书基本逻辑就是,比你这个难得多的哥们都搞定了,你这点小事根本不再话下去bat镀镀金,捷径看看你的上司是咋过来的不知从何时起,很多企业将入职门槛限定在35岁以下,“35岁”已然成为职场老鸟的魔咒,而近年来有关**“程序员
2022-04-10 15:24:38
1190
原创 他们说程序猿撩妹我只能收藏,java开发过程中遇到技术难点面试题
摘要Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log),之后成为Apache项目的一部分。成千上万的企业都在使用Kafka,三分之一的世界500强公司也在其中,Kafka也是成长最快的开源项目之一,包括其生态系统也在蓬勃发展。Kafka正在成为管理和处理流式数据的利器。Kafka系统快速、可扩展并且可持久化。它的分区特性,可复制和可容错都是其不错的特性。大家一起来跟着阿里专
2022-04-10 15:18:18
188
原创 微服务下,使用ELK进行日志采集以及统一处理
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例
2022-04-09 16:34:14
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人