- 博客(287)
- 资源 (129)
- 收藏
- 关注

原创 作为Java二面面试官,我会考察哪些点?
本文介绍了Java技术二面的考察要点,主要包括技术架构、模型设计、软实力等方面。面试流程涵盖自我介绍、项目深度考察、软实力评估等环节。在项目考察中,重点关注技术方案设计、中间件选型、系统稳定性等,并会设置高并发系统设计等场景题。同时考察候选人的学习自驱力、项目管理能力和抗压能力。对于热门的大模型技术也会进行基础原理和应用考察。面试官强调二面更注重综合判断,通过候选人的项目理解、技术认知和表达能力,评估其专业实力和发展潜力。最后会了解候选人的求职进展,以便快速推进优质人选。
2025-07-08 11:13:12
308

原创 作为Java一面面试官,我会考察哪些点?
本文分享了研发工程师面试官的经验,重点介绍了技术一面的考察内容。主要分为Java基础(类加载、JVM、并发编程等)和中间件框架(MySQL、Spring、Redis等)两大方向,涉及原理性问题和实际应用场景。面试官会根据候选人回答的深度和准确性,结合岗位职级要求进行评估,同时考察表达能力。文章还提及了大数据相关技术的考察要点,为Java研发岗位面试提供了实用参考。
2025-07-04 09:45:22
317

原创 Zookeeper分布式队列的实现
摘要:本文要通过zookeeper实现一个简单可靠的分布式队列本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning一、队列Zookeeper可以处理两种类型的队列:(1)同步队列当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达。例如一个班去旅游,看是否所有人都到齐了,到齐了就发车。例如有个...
2017-05-03 09:17:03
11896
4

原创 Zookeeper分布式锁实现
摘要:本文要使用Zookeeper来实现一个分布式锁,是一个悲观锁。 本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning一、锁设计 获取锁实现思路:1. 首先创建一个作为锁目录(znode),通常用它来描述锁定的实体,称为:/lock_node2. 希望获得锁的客户端在锁目录下创建zno...
2017-05-03 09:14:59
9485
2

原创 Redis分布式锁----乐观锁的实现,以秒杀系统为例
摘要:本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程。本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning乐观锁 大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字...
2017-05-02 10:07:37
37869
16

原创 Redis分布式锁----悲观锁实现,以秒杀系统为例
摘要:本文要实现的是一种使用redis来实现分布式锁。本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning1、分布式锁 分布式锁在是一种用来安全访问分式式机器上变量的安全方案,一般用在全局id生成,秒杀系统,全局变量共享、分布式事务等。一般会有两种实现方案,一种是悲观锁的实现,一种是乐观锁的实现。...
2017-05-02 10:05:45
16336
5

原创 前后端分离项目的技术与框架通用方案
摘要:本文是关于前后端分离项目的技术与框架选型通用方案,是一个比较成熟的方案。目前大部分公司也是采用这个体系。
2017-03-28 08:51:29
6353
3

原创 Flume运行原理
flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一。尤其近几年随着flume的不断被完善以及升级版本的逐一推出,特别是flume-ng;同时flume内部的各种组件不断丰富,用户在开发的过程中使用的便利性得到很大的改善,现已成为apache top项目之一.
2017-03-24 20:08:36
3627
1

原创 Spark内存管理原理(上)
Spark运行是内存分为三部分,执行内存(execute memory),存储内存(storge memory),预留内存(reserved memory).在1.6版本以前执行内存和存储内存是静态分配的,意思着应用一启动后,各区域的内存大小就是不变的。这就会带来一个后果,有时执行内存严重不足,但是存储内存又都没怎么用,或者相反。因为这个问题,spakr1.6版本之后引入的动态内存管理机制。
2017-03-23 08:43:48
5279

原创 Storm运行原理探索
Apache Storm 的前身是 Twitter Storm 平台,目前已经归于 Apache 基金会管辖。Apache Storm 是一个免费开源的分布式实时计算系统。简化了流数据的可靠处理,像 Hadoop 一样实现实时批处理。Storm 很简单,可用于任意编程语言。Apache Storm 采用 Clojure 开发。Storm 有很多应用场景,包括实时数据分析、联机学习、持续计算、分布式 RPC、ETL 等。Storm 速度非常快,一个测试在单节点上实现每秒一百万的组处理。
2017-03-13 08:37:23
4346
2

原创 Spark原理解析
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等
2017-03-07 08:35:27
2338

原创 Flume+HDFS+Kafka+Hive实例搭建
摘要:本文要实现的是一个使用Flume来处理Kafka的数据,并将其存储到HDFS中去,然后通过Hive外部表关联查询出来存储的数据。所以在建立一个maven工程,整个工程最终的目录如下:下面开始一步一步讲解1、定义自己的source 之所以不用源生的,是因为要对得到的消息要一定的处理后再保存到hdfs中去,这里主要就是将每一条消息解析并组装成以“|”做...
2017-03-04 17:34:07
10029
4

原创 Java的Spi机制研究
SPI的全称是Service Provider Interface。简单来说,SPI机制提供了一个表达接口和其具体实现类之间的绑定关系的方案。具体是在JAR包的"META-INF/services/"目录下建立一个文件,文件名是接口的全限定名,文件的内容可以有多行,每行都是该接口对应的具体实现类的全限定名。SPI可以理解是为接口寻找服务实现类。现在公司的系统都是进行了模块的划分,系统抽象为多个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们
2017-02-27 22:50:55
2685
1

原创 Redis和DelayQueue设计具有过期时间的缓存
有一款APP,用户登陆后。会将用户的用户号,手机号、以及设备号等上报给后台的清洗程序(这里设备号是唯一的)。后台因为需要根据这三个做一定的运算。所以希望对于每一个访客-用户关系进行缓存,并只缓存10分钟,并且缓存使用redis。注意,是每一条记录都只缓存10分钟。而不是一批记录!2、解决方案 1、在redis里有个函数,hset(String key,String fiel
2017-02-27 11:19:51
5312
1

原创 Hbase常用SQL-DDL与DML汇总
Hbase是一个非关系型,面向列族的数据库,其插入和查询的性能远高于一般关系型数据库,下面主要来看一下一些常用的sql.
2017-02-22 08:28:53
3467

原创 Hive编程指南-数据类型、DDL、DML、常用字符串函数
摘要:本文主要讲了Hive的数据基本,及一些学用的DDL,DML语句,常用字符串函数。
2017-02-13 08:25:23
1598

原创 Hadoop实战演练:搜索数据分析----多个不同的Job进行串连(4)
在hadoop中,一个job需要另一个job的输出结果作为输入源。本文写了一个例子来设置4个不同Job的依赖实例
2016-09-15 15:47:07
2636

原创 Java并发编程与技术内幕:聊聊锁的技术内幕(上)
在Java并发编程里头,锁是一个非常重要的概念。就如同现实生活一样,如果房子上了锁。别人就进不去。Java里头如果一段代码取得了一个锁,其它地方再想去这个锁(或者再执行这个相同的代码)就都得等待锁释放。锁其实分成非常多。比如有互斥锁、读写锁、乐观锁、悲观锁、自旋锁、公平锁、非公平锁等。包括信号量其实都可以认为是一个锁。
2016-07-11 07:41:55
20599

原创 Java并发编程与技术内幕:CopyOnWriteArrayList、CopyOnWriteArraySet源码解析
本文主要讲了Java中CopyOnWriteArrayList 、CopyOnWriteArraySet的源码分析
2016-07-11 07:40:42
6450

原创 Java并发编程与技术内幕:ArrayBlockingQueue、LinkedBlockingQueue及SynchronousQueue源码解析
本文主要讲了Java中BlockingQueue的源码一、BlockingQueue介绍与常用方法BlockingQueue是一个阻塞队列。在高并发场景是用得非常多的,在线程池中。如果运行线程数目大于核心线程数目时,也会尝试把新加入的线程放到一个BlockingQueue中去
2016-06-21 09:18:29
9056
2

原创 Java并发编程与技术内幕:ThreadFactory、ThreadLocal
ThreadFactory这个故名思义,就是一个线程工厂。用来创建线程。这里为什么要使用线程工厂呢?其实就是为了统一在创建线程时设置一些参数,如是否守护线程。线程一些特性等,如优先级。通过这个TreadFactory创建出来的线程能保证有相同的特性。
2016-06-20 11:15:14
8096
2

原创 Java并发编程与技术内幕:ThreadGroup线程组应用
线程组ThreadGroup表示一组线程的集合,一旦一个线程归属到一个线程组之中后,就不能再更换其所在的线程组。那么为什么要使用线程组呢?个人认为有以下的好处:方便统一管理,线程组可以进行复制,快速定位到一个线程,统一进行异常设置等。ThreadGroup它其实并不属于Java并发包中的内容,它是java.lang中的内容。但是掌握对其的于理解,在实际应用中有很大的帮助。
2016-06-13 09:09:54
21163
2

原创 Java并发编程与技术内幕:Callable、Future、FutureTask、CompletionService
在上一文章中,笔者介绍了线程池及其内部的原理。今天主要讲的也是和线程相关的内容。一般情况下,使用Runnable接口、Thread实现的线程我们都是无法返回结果的。但是如果对一些场合需要线程返回的结果。就要使用用Callable、Future、FutureTask、CompletionService这几个类。Callable只能在ExecutorService的线程池中跑,但有返回结果,也可以通过
2016-06-12 08:53:38
28075
7

原创 Java并发编程与技术内幕:线程池深入理解
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要: 本文主要讲了Java当中的线程池的使用方法、注意事项及其实现源码实现原理,并辅以实例加以说明,对加深Java线程池的理解有很大的帮助。 首先,讲讲什么是线程池?照笔者的简单理解,其实就是一组线程实时处理休眠状态,等待唤醒执行。...
2016-06-08 08:38:57
51268
13

原创 跟我学AngularJs:AngulaJs开发技巧汇总(持续更新)
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 本教程使用AngularJs版本:1.5.3AngularJs GitHub: https://github.com/angular/angular.js/AngularJs下载地址:https://angularjs.org/ 摘要:通过前面几篇...
2016-04-27 10:00:41
9275

原创 跟我学AngularJs:router路由与多重视图详解
AngularJs中的路由其实可以认为是一个地址跳转映射,只不过它这个跳转不是传给后台去操作,而是在前台根据不的地址传递参数,渲染不同的内容出来。浏览器地址发生了改变,但实际上它们还们在同一个页面。
2016-04-26 08:35:37
7942

原创 跟我学AngularJs:Directive指令用法解读(下)
此文接 跟我学AngularJs:Directive指令用法解读(上)8.transclude 如果不想让指令内部的内容被模板替换,可以设置这个值为true。一般情况下需要和ngTransclude指令一起使用。 比如:template:"hello every ",这时,指令内部的内容会嵌入到ng-transclude这个div中。也就是变成了hello every 这是指令内部的内容。默认值为
2016-04-24 15:59:19
9489
servlet之cookied深入浅出
2015-06-24
AOP之JDK动态代理和CGLib动态代理
2015-05-19
JavaScript中使用Json范例
2015-07-03
Servlet仿CSDN动态验证码的生成-带数字和字母
2015-06-23
Ajax+SpringMVC+Spring+Mybatis+MySql+js用户注册实例
2015-07-23
Spring之Construcotrer注入和setter注入不同的XML写法方式
2015-06-20
Servlet动态验证码的生成-带数字和字母
2015-06-23
Json开发用到的jar包
2015-07-03
Spring AOP之5种增强方法应用范例
2015-05-19
IOC之基于Java类的配置Bean
2015-05-19
JSP九大内置对象和四种属性范围解读
2015-07-15
Spring使用XML配置声明式事务
2015-05-19
Spring AOP之基于AspectJ注解总结与案例
2015-05-19
Spring JDBC应用实例讲解
2015-05-19
Spring AOP之基于Schema配置总结与案例
2015-05-19
mybatis-generator-core
2015-07-23
Spring3.2.9+commons-logging-1.2.jar
2015-06-17
Ajax基础实例讲解
2015-07-16
dubbo-hellowrold实例
2015-08-27
Bluemix数据缓存实例
2016-02-05
web流程图动态绘制-使用raphael
2015-09-30
dubbo应用启动与停止脚本
2017-03-12
Java的Spi使用实例
2017-02-27
Bluemix文本转语音实例
2016-02-05
AngularJS+RequireJs实现动态加载JS和页面
2016-09-11
RabbitMq与Spring整合实例
2016-01-20
Shiro登陆验证实例,采用SSM
2015-12-06
PageHelper分页实例(带页面)
2015-10-27
Maven搭建Spring+Mybatis+MySql实例
2015-09-30
dubbo-admin-2.5.4
2015-08-27
Mybatis Generator自动生成代码实例
2015-07-23
Maven搭建Spring+Mybatis+SpringMVC+MySql实例
2015-09-30
select2-4.0.1.zip
2015-12-06
tesseract-1.03.tar.gz
2015-11-02
PIL-1.1.7.win32-py2.7.exe
2015-11-02
pytesser_v0.0.1.zip
2015-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人