自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java程序员面试中最容易答错的8道面试题,Java面向对象三大特性详解

B、this关键字1.this关键字代表当前对象this.属性 操作当前对象的属性this.方法 调用当前对象的方法。2.封装对象的属性的时候,经常会使用this关键字。3.当getter和setter函数参数名和成员函数名重合的时候,可以使用this****区别。如:C、Java 中的内部类内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。那么问题来了:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!

2021-08-11 17:47:18 219

原创 Java程序员跳槽,tomcat原理详解

面试官:说一下sleep和wait的区别?**程序员小李:**哦,这个简单1. 对于 sleep()方法,我们首先要知道该方法是属于 Thread 类中的。而 wait()方法,则是属于Object 类中的。2. sleep()方法导致了程序暂停执行指定的时间,让出 cpu 该其他线程,但是它的监控状态依然保持着,当指定的时间到了又会自动恢复运行状态。3. 在调用 sleep()方法的过程中,线程不会释放对象锁。4. 而当调用 wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池

2021-08-11 17:44:59 150

原创 Java程序员秋招三面蚂蚁金服,爆火的Java面试题

面试的题目:HashMap和Hashtable的区别实现一个保证迭代顺序的HashMap说一说排序算法,稳定性,复杂度说一说GC可以保证的实习时长职业规划整体来说,一面的基础性问题比较多,所以博主基本都答出来了,准备过还是有些用处的。所以一面完了感觉还不错,接着第二天下午就二面了。蚂蚁金服二面二面是我最慌的面试,因为二面是最关键的,是最大的主管面试,所以非常关键,整体来说,二面的节奏非常快,和一面完全不同,面试官很希望我言简意赅的说完答案,所以面的不算很好,当时完了又以为GG了,好在

2021-08-11 17:43:44 198

原创 java的数组,2021年上半年最接地气的Java面经

int[] array = { 1, 2, 3, 4, 5 }; // 依次使用数组中的每一个元素, 给迭代变量进行赋值。 // 此时, 数组中的每一个元素依次给 element 进行赋值。 for (int element : array) { System.out.println(element); }}}**两种方式的对比**如果需要在遍历的同时, 获取到数组中的元素下标, 需要使用下标遍历法。 如果需要在遍历的同时,...

2021-08-11 17:42:33 70

原创 Java注解和反射,Java教程马士兵全集

public User() {}public User(String name, int id, int age) { this.name = name; this.id = id; this.age = age;}}**Class类**:一个Class对象宝华了特定某个结构的有关信息1. Class对象只能由系统建立2. 一个加载的类在JVM中只会有一个Class实例,一个Class对象对应的是一个加载到JVM中的.class文件

2021-08-11 17:40:05 82

原创 Java泛型机制详解;这些你都知道吗,Java面试题大全(整理版)

}使用的时候的代码只要这么改动:```javaPair minmax = new Pair(1,100);Integer min = (Integer)minmax.getFirst();//字段强制转换Integer max = (Integer)minmax.getSecond();//字段强制转换这样使用其实是可以的,事实上Java提供的泛型机制其实底层就是如此实现的。之所以这么设计,与Java当初设计的时候的jvm虚拟机编译机制有关系,要知道泛型设计的时候Java才到Jdk1.4版

2021-08-11 17:38:55 74

原创 Java常见面试题及答案,如果当时这16道题能答好,现在应该已经被录取了

9月9日参加面试遇到的问题,10天时间,历经14次编辑,今天(9月19日)才整理出来,知识的匮乏,不言而喻。今天无意之间看到了这个,果断申请了,希望CSDN能给我一次机会,让我更多的参与进来,提高自己,成为博客专家,成为高薪全栈工程师,公司顶梁柱。之前的CSDN首页无外乎三点标题党,所谓的面试题,今天阿里,明天字节跳动的,也不知道你到底去哪里了。Python,也不知道有多少干Python的,java都是hello world,你们呢?直接爬美女图片,吸引眼球?目的达到了,你赢了。一些

2021-08-10 13:59:22 194

原创 Java常用算法手册,万达保安“苦修Java

高考毕业后,自己因为高考失利,与理想大学失之交臂,当了两年兵回来就在万达做起了一名保安,不到1年就坐上了管理层的位置。但我当年一直想着读计算机专业,以后做一名程序员,现在的状态也不是想要的。人生转折点去年的时候,几个玩的好的老同学就聊了起来,其中有个考上了西安财大,读了新闻系,毕业后干了不久就想做了,原因很现实,既感觉不到前途,也感受不到任何钱途,索性就去报了一个线下培训班学前端,没选择学Java的原因主要是因为前端的可视化,不会看着枯燥,现在在上海工作了2年多,也有20k+的薪资。我也考虑了几天,

2021-08-10 13:58:17 76

原创 Java工程师进阶,Java ArrayList类深度解析

扩容是发生在添加操作前的,要保证要添加元素在 elementData 数组中有位置,也即是 size 加上要添加的元素个数要小于 capacity(size + num <= capacity 就说明容量是充足的),所以在添加方法中,先调用 ensureCapacityInternal(int) 方法来确保 elementData 容量充足,然后再进行具体的添加操作。如果 ensureCapacityInternal 方法(ensureCapacityInternal 方法中有调用了其他方法)发现数组

2021-08-10 13:57:04 77

原创 Java工程师的进阶之路-Kafka篇(二,漫谈MySQL权限安全

注意:ZooKeeper 中存储的不是缓存信息,broker 中存储的才是缓存信息。2.5. Controller 的设计原理在 Kafka 0.11 版本之前,控制器的设计是相当繁琐的。Kafka controller 被设计为一种模拟状态机的多线程控制器,这种设计其实是存在一些问题的:1.controller 状态的更改由不同的监听器并发执行,因此需要进行很复杂的同步,并且容易出错而且难以调试。2.状态传播不同步,broker 可能在时间不确定的情况下出现多种状态,这会导致不必要的额外的数据丢失

2021-08-10 13:55:51 99

原创 Java工程师的职业规划,上个月成功拿到阿里P7offer

五一个优秀程序员的工作并非只是编制代码,他要完成的工作是要把人类的思想利用语言告诉计算机,来做人类想让它们做的事情。那么,问题来了。你有思想吗?你知道要让电脑做什么吗?比如说管理、计算、统计、动画……如果到了35岁,你还是只能在他人指导下做编码工作(软件蓝领)恐怕在体力和精力上是不如年轻人的。所以,谈到职业规划。在年轻时熟练掌握程序语言,而后是独立承担和组织一个完整的项目,在后是能够带领一个小组完成项目。在这过程中,你要与内部交流、沟通,要与用户交流、沟通,要做出项目计划并督导完成。六

2021-08-10 13:54:39 217

原创 Java工程师的发展路线,面向对象知识点整理

类表示一个共性的产物,是一个综合的特征,而对象,是一个个性的产物,是一个个体的特征。类必须通过对象才可以使用,对象的所有操作都在类中定义类由属性和方法组成:· 属性:就相当于人的一个个的特征,例如:姓名、年龄、性别· 方法:就相当于人的一个个的行为,例如:说话、吃饭、唱歌、睡觉1.2.2、类的定义格式class 类名称{ 成员属性 成员方法}1.2.3、对象的创建和使用//对象的创建类名称 对象名称 = new 类名称;.

2021-08-10 13:53:26 64

原创 Java工程师慕课网视频,Hibernate实现CRUD(附项目源码

</property></bean><!-- 配置spring的声明式事务1.配置hibernate的事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFa...

2021-08-10 13:51:03 238

原创 Java数据结构与算法-算法概述(补充,2021年是意义非凡的一年

1.2:算法相关概念数据结构+算法+程序设计语言=算法数据结构往往表示的是处理的对象算法是计算和处理的核心方法程序设计语言是算法的实现方法。1.3:算法的表示算法描述的方式大致采用自然语言、流程图、N-S图、伪代码等表示。自然语言通俗来说,自然语言就是平时口头描述的语言。对于一些很简单的算法,可以采用自然语言来口头描述算法的执行过程。在古代的早期算法也可以看做自然语言表示。但是自然语言比较复杂,很大程度上阻碍了中国古代算法(如割圆术秦九韶算法等)的发

2021-08-09 14:57:27 88

原创 Java操作ElasticSearch

User user = new User(); user.setName("zhangsan"); user.setAge(30); user.setSex("男"); // 向ES插入数据,必须将数据转换位JSON格式 ObjectMapper mapper = new ObjectMapper(); String userJson = mapper.writeValueAsString(user); request.sou...

2021-08-09 14:56:15 72

原创 Java开发环境搭建超全详解

1.1  官网下载mysql压缩包下载压缩包时,可以先把安装包下载到本地,再上传到服务器,也可以在linux服务器上wget:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads1.2  解压gz压缩包tar -zxvf mysq

2021-08-09 14:55:08 373

原创 Java开发环境搭建超全详解(1)

本小结侧重于操作,主要内容大致包括:两大类操作系统简要介绍VMware Workstation Pro 15简要介绍及安装CentOS简要介绍及基于Wi’n’dows 操作系统的安装(一 )关于操作系统的介绍1.Windows 系统Window操作系统,是我们再熟悉不过的系统了。客户端操作系统:windows xp(已过时),win7,win8,win10服务器操作系统:windows server 2008(R2),windows server 2012(R2).

2021-08-09 14:54:02 149

原创 Java开发微信公众号支付系统全过程,Java全套百度云视频

<return_msg><![CDATA[OK]]></return_msg>复制代码告诉微信已完成验证,不要再给我们发送异步通知的请求。是不是还是不太清楚如何集成到项目?没关系,这个还有示例demo,可以更加明了的清楚。### 三、demo运行demo网址为:https://github.com/Pay-Group/best-pay-demo我们最主要的`controller`放在这里:@Controller@Sl

2021-08-09 14:52:51 130

原创 Java开发微信公众号支付系统全过程(1),Java微服务架构图

payRequest.setOpenid("openid_xxxxxx"); bestPayService.pay(payRequest);复制代码3、异步回调bestPayService.asyncNotify();复制代码这就是这个sdk所说的**10行代码**解决微信支付。支付完成后,微信会返回给把支付结果以一段支付xml的数据返回给我们,我们需要将这段数据传递给异步通知`url(notify_url)`,来完成支付结果的验证(验证签名,验证支付状态),这.

2021-08-09 14:51:40 304

原创 Java底层分析多线程行为,Java知识体系图

Terminated:线程的执行完成。并发多线程处理:扩展Thread类最简单的是,通过扩展Thread类来完成并发处理,如下所示。public class InheritingThread extends Thread {InheritingThread(String threadName) {super(threadName);}public static void main(String... inheriting) {System.out.println(Thread.cu.

2021-08-09 14:50:30 59

原创 Servlet学习(一,万字总结

6、点击next,给项目起一个合适的名字,点击finish,创建完成7、配置servlet。在src目录下新建一个Java类,实现Servlet接口代码如下package demo01;import javax.servlet.*;import java.io.IOException;public class Hello implements Servlet { @Override public void init(ServletConfig se.

2021-08-08 18:23:34 60

原创 Redis高频面试笔记:基础,Java编程入门自学

Redis 之父 Salvatore Sanfilippo这个业界大新闻迅速引起了轰动,纪念的文章太多,以至于 Sanfilippo 还在推特上吐槽这个告别仪式太过隆重,“看起来好像是我死了一样(笑)”。当然,广大吃瓜群众可没有因此对Redis的未来产生一丝一毫的担心——这实在是因为Redis已经太普及了。最近面试大厂的人,不被问到几个Redis相关的问题,就好像没有参加过面试一样。我最近在后台也收到了不少相关的提问,干脆整理了一下在面试里常常碰到的Redis问题。如果你能轻松搞定这些问题,大.

2021-08-08 18:22:30 71

原创 Redis知识体系总结(2021版,Java面试基础问题

(2)但是这些缓存的数据仍然需要持久化,也就是存入数据库之中,所以在一个请求操作完Redis的读写之后,会去判断该高速读写的业务是否结束,这个判断通常会在秒杀商品为0,红包金额为0时成立,如果不成立,则不会操作数据库;如果成立,则触发事件将Redis的缓存的数据以批量的形式一次性写入数据库,从而完成持久化的工作。五、Redis代码实例1、Java整合Redis(1)导入pom<dependency> <groupId>redis.clients</grou

2021-08-08 18:21:17 187

原创 Redis知识体系总结(2021版(1),今日头条面试经历

1、官方答案Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络宽带。既然单线程容易实现,而且CPU不会成为瓶颈,那么顺理成章的采用单线程的方案。2、我的理解(1)不需要各种锁的性能消耗Redis的数据结构并不全是key-value形式的,还有list,hash等复杂的结构,这些结构有可能会进行很细粒度的操作,比如在很长的列表后面添加一个元素,在hash中添加或删除一个对象,这些操作可能就需要加非常多的锁,导致的结果是同步开销大大增加。总之,在.

2021-08-08 18:20:04 134

原创 Redis安装教程(Windows,kafka从入门到精通

中文网:http://www.redis.net.cn/将安装包上传到linux服务器,这里上传到了opt目录:远程登录,切换到opt目录,可以看到文件已经上传成功:解压文件:tar -zxvf redis-5.0.7.tar.gz,并切换到redis文件目录:确保虚拟机中有gcc环境:yum install gcc-c++,之后再当前目录输入make配置环境(时间较长):一个问题:如果下载最新版Redis,由于版本太高会出现gcc版本与redis版本不匹配的问题,可以更新为更高版本的J

2021-08-08 18:18:54 80

原创 Redis基础类型常用操作命令,2021年是意义非凡的一年

获取数据get key删除数据del key设置过期时间(默认单位为秒)expire key second追加信息到初始value后边append key value添加/修改多个数据mset key1 value1 key2 value2...获取多个数据mget key1 key2 ...获取字符串长度strlen key设置key的生命周期 控制生命周期setex key seconds value (秒).

2021-08-08 18:17:38 61

原创 Redis从入门到精通,至少要看看这篇,详细到让你分分钟搞定Netty

主流应用架构客户端在对数据库发起请求时,先到缓存层查看是否有所需的数据,如果缓存层存有客户端所需的数据,则直接从缓存层返回,否则进行穿透查询,对数据库进行查询。如果在数据库中查询到该数据,则将该数据回写到缓存层,以便下次客户端再次查询能够直接从缓存层获取数据。缓存中间件 Memcache 和 Redis 的区别Memcache 的代码层类似 Hash,特点如下:支持简单数据类型不支持数据持久化存储不支持主从不支持分片Redis 特点如下:数据类型丰富支持数

2021-08-08 18:16:25 101

原创 Redis-用的很溜,了解过它用的什么协议吗,阿里Java社招面试

他说,事情是这样的,刚开始,问了一些基础的问题,比如 Redis 的几种基本数据类型和使用场景,以及主从复制和集群的一些问题,这些都还好。然后问 Redis 的两种持久化方式,我说与 RDB 和 AOF 两种方式,RDB 数据文件小,恢复速度快,但是对性能有影响,而且不适合实时存储。而 AOF 是现在最常用的持久化方式,它的一大优点就是实时性,并且对 Redis 半身性能影响最小。那面试又问了,你知道 AOF 持久化之后的文件是什么格式吗?答:好像就是文本文件吧?好,文本文件,那你知道它有什么规则吗

2021-08-08 18:15:15 95

原创 Java技术面试题目,Spring Boot 谷粒学院、谷粒商城项目问题汇总

2、If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).解决办法:在启动类上加:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})3、 java.io.FileNotFoundException:.

2021-08-07 05:14:45 3229

原创 Java技术面试题目,Redis-生产架构选型解决方案

新增了为艺术而生的LOLWUT命令。弃用slave术语(需要API向后兼容的情况例外)。对网络层进行了多处优化。进行了一些Lua相关的改进。新增动态HZ(Dynamic HZ)以平衡空闲CPU使用率和响应性。对Redis核心代码进行了重构并在许多方面进行了改进。##二 架构您需要根据业务需求选择:集群架构可轻松突破Redis自身单线程瓶颈,满足大容量、高性能的业务需求。主从架构,提供高性能的缓存服务和数据高可靠。读写分离架构提供高可用、高性能、高灵活的读写分离服务,解决热.

2021-08-07 05:13:28 116

原创 Java技术面试常见问题,一个月面试了3家大厂Java岗,我发现这几个突破点

研发架构师:1、扎实的java基础,精通Java EE、数据库、缓存、消息队列、索引等技术;2、精通分布式架构,熟悉主流的微服务框架,如Spring Cloud、Dubbo、Zookeeper等,并精通其原理;3、精通linux常用命令,网络协议,jvm、tomcat、nginx等调优;4、具备较强的推进能力和责任心,优秀的沟通能力和团队精神,热爱技术工作;5、有高并发、高性能、高可用大型网站构建经验者优先;6、有企业运营管理类ERP复杂业务系统搭建经验者优先。高级工程师:1、6年以上

2021-08-07 05:12:10 137

原创 Java技术总监面试常见问题及答案,【源码分析设计模式 9

1、在模板方法模式的父类中,我们可以定义一个方法,它默认不做任何事,子类可以视情况覆盖它,该方法称为钩子方法。六、代码实例======1、抽象类package com.guor.template;public abstract class SoyaMilk { //模板方法, make , 模板方法可以做成final , 不让子类去覆盖. final void make() { select(); addCondiments();

2021-08-07 05:10:46 1585

原创 Java技术总监面试常见问题及答案,Kafka中的时间轮算法讲解

public class TimeWheel { /** 一个时间槽的时间 */ private long tickMs; /** 时间轮大小 */ private int wheelSize; /** 时间跨度 */ private long interval; /** 槽 */ private Bucket[] buckets; /** 时间轮指针 */ private long c.

2021-08-07 05:09:26 604

原创 Java技术图谱,安利一款非常NICE的-API-敏捷开发工具

传统开发步骤:增加一张表创建实体对象,映射这张表创建API入参VO创建API出参VO创建Controller创建Service创建Dao创建Mapper, xml或者JPA在mysql客户端,或者mongo客户端中写执行脚本语句,复制到代码中反复重启,进行接口自测编写API文档完成一个功能点开发使用一些工具比如mybatis plus,jpa,或者idea的Easy code,MybatisCodeHelperPro等可以一键生成一些基于单表的操作的相关代码,但是业务场景来说,

2021-08-07 05:08:07 403

原创 Java技术功底不够如何去面试,搞开发这11年,我总结出了这些开发经验

如何画底线?假想的队伍里没有孙悟空。你怎么能从你的唐玄藏、八戒和沙僧身上学到东西呢?这个月去哪里,遇到山怎么走,过河怎么走,遇到一个抢劫道路的怪物,谁会反抗呢?如果有女孩在营救途中呢?这就是过程,原则。我经历了一个非常混乱的阶段。这一切都发生在很多年前。可以说它不涉及一个人。2011年,百度浏览器团队遇到了几件影响深远的事情。在一次会议上,该产品展示了一款谷歌产品。里面有一个很酷的3D效果。它需要开发和添加。只花了两天时间。所有人都惊呆了。后续开发为了跟上节奏,导致大量的bug,为了修改bug,领导会

2021-08-07 05:06:51 474

原创 Java技术专家面试题,Github爆火的Spring全家桶实战文档:AOP

什么是 JavaConfig?如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?Spring Boot 中的监视器是什么?如何在 Spring Boot 中禁用 Actuator 端点安全性?如何在自定义端口上运行 Spring Boot 应用程序?什么是 YAML?如何实现 Spring Boot 应用程序的安全性?如何集成 Spring Boot 和 ActiveMQ?如何使用 Spring Boot 实现分页和排序?什么是 Swagger?你用 Spring B.

2021-08-07 05:05:29 142

原创 Java技术专家需要掌握的技能,Spring容器如何解决循环依赖的原理

singletonObject = singletonFactory.getObject(); this.earlySingletonObjects.put(beanName, singletonObject); this.singletonFactories.remove(beanName); } } } }...

2021-08-07 05:04:07 131

空空如也

空空如也

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

TA关注的人

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