自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 你的知识死角不能否定你的技术能力

有些人通过我账号资料里的微信加我,然后问我一些所谓“怎么办”的问题,不是我不告诉你,而是我确实不知道。我确实有很高的title,也确实有很多的技术积累,但我并没有达到知识的“百宝盒”的水平。换个角度重新说这句话“这么简单的问题你都不知道,你配得上你的title吗?”技术能力我们放下技术先不谈,只说能力。当你同时面对工作进度紧张,家里事务繁琐,你是如果做时间管理的?当你面对20个offer,需...

2018-12-25 21:09:54 115

原创 面试——谈谈你对Java 平台的理解

经典回答Java语言是一种面向对象的高级语言,它最显著的有两个特性,一是通过平台中立的class文件格式和屏蔽底层硬件差异的jvm实现‘一次编写,到处运行’;二是通过‘垃圾收集器’管理内存的分配和回收。Java 是一种简单、严谨并且适合编写的语言,它不像C/C++ 那样有很多晦涩难懂的内容,如头文件、指针、结构等等。我们编写java 会接触到 JRE(Java Runtime Environm...

2018-12-25 21:08:20 232

原创 Java 对象的内存布局

对象头对象头的信息主要包括两个部分:Mark Word类型指针数组长度(如果是数组才有)1.1 Mark WordMark Word 的定义:Mark Word 用于存储对象自身的运行时数据,如哈希码(HashCode)、GC 分代年龄、锁状态标志、线程持有的锁、偏向线程ID 、偏向时间戳等。这部分数据的长度在32 位和64 位的虚拟机中分别为32 bit 和64 bit 。问...

2018-12-25 21:07:22 135

原创 关于乐观锁与悲观锁的实际应用

开门见山,先聊一聊我实际遇到的业务问题:在项目中有一个竞猜下注的功能,它的赔率是根据A队和B队两边的下注总金额来计算的。于是当有用户下注某一边时,两边的赔率都会进行相应的变化。反应到数据库里就是(简化版本),一个人下注,会更改数据库盘口表的几个字段:A队赔率,A队下注金额、B队赔率,B队下注金额 等等。​ 如果使用默认事务方式,就加个@Transactional 注解,会导致更新丢失的问题。(何为...

2018-12-24 22:20:46 195

原创 翻译 | Java在2018年的形势

在过去的几个星期里,我一直在做关于“Java年度趋势”的调查。从开始这项事情,这已经是第五年了,而且也是形式最大的一年,将近有5160名开发者参与到这次调查中。Java版本的采用率毫无意外,Java8依然在开发社区中占主要地位:图自原博客Java9和Java10的采用率依然非常低,分别都只有低于5%的占比。作为参考,在2017年采用占比为24.4%的Java7在现在也只占了10.6%...

2018-12-24 22:18:01 86

原创 Java 容器面试题】谈谈你对HashMap 的理解

为了能够在面试回答中优雅而不失体面回答面试考点,该文章借鉴了不同平台对知识点的描述。如有侵权请联系我文章的不足和错误请指正,好的建议也不要吝啬,我都会采纳并更正您的点赞是我持续更新的动力我的回答HashMap 是一种存取高效但不保证有序的常用容器。它的数据结构为“数组+链表”,是解决哈希冲突的产物,也就是我们常说的链地址法。它实现了Map 接口采用K-V 键值对存储数据,并实现了浅拷贝和...

2018-12-24 22:13:28 236

原创 函数式编程,真香

最开始接触函数式编程的时候是在小米工作的时候,那个时候看老大以前写的代码各种 compose,然后一些 ramda 的一些工具函数,看着很吃力,然后极力吐槽函数式编程,现在回想起来,那个时候的自己真的是见识短浅,只想说,‘真香’。最近在研究函数式编程,真的是在学习的过程中感觉自己的思维提升了很多,抽象能力大大的提高了,让我深深的感受到了函数式编程的魅力。所以我打算后面用 5 到 8 篇的篇幅,详...

2018-12-22 21:10:45 198

原创 三行代码实现 JS 柯里化

最近有看到一些柯里化的文章,怎么说呢,感觉很奇怪。一篇是阿里云的译文,文章末尾给出了这样一个 “curry”:function curry(fn, ...args) { return (..._arg) => { return fn(...args, ..._arg); }}作者前面明明例举了柯里化和部分应用的区别,结果最后说我们实现下柯里化吧,然后...

2018-12-22 21:04:23 235

原创 JavaScript专题之数组去重

双层循环也许我们首先想到的是使用 indexOf 来循环判断一遍,但在这个方法之前,让我们先看看最原始的方法:var array = [1, 1, '1', '1'];function unique(array) { // res用来存储结果 var res = []; for (var i = 0, arrayLen = array.length; i < ...

2018-12-22 20:59:55 109

原创 Semaphore-信号量的实现分析

SemaphoreSemaphore 信号量:可以用来控制同时访问特定资源的线程数量;通过协调各个线程以保证合理的使用公共资源构造// permits 设置许可证的数量public Semaphore(int permits) { // 默认非公平 sync = new NonfairSync(permits);}// permits 设置许可数量// fair 设置...

2018-12-21 19:50:55 117

原创 JavaScript 数据类型检测终极解决方案

JavaScript 的数据类型检测是我们平时开发中经常会遇到的场景,小到基本数据类型大至各种引用数据类型的检测,都是我们需要掌握的知识点。本章会详细讲解 JavaScript 中各种不同数据类型的检测方法以及最后会实现一个数据类型检测的终极方法。红宝石书告诉我们,JavaScript 中的数据类型有 Undefined、Null、Boolean、Number、String、Object,其中前...

2018-12-20 22:22:16 69

原创 JavaScript中内存使用规则--堆和栈

堆和栈都是运行时内存中分配的一个数据区,因此也被称为堆区和栈区,但二者存储的数据类型和处理速度不同。堆(heap)用于复杂数据类型(引用类型)分配空间,例如数组对象、object对象;它是运行时动态分配内存的,因此存取速度较慢。栈(stack)中主要存放一些基本类型的变量和对象的引用,其优势是存取速度比堆要快,并且栈内的数据可以共享,但缺点是存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。...

2018-12-20 22:17:00 82

转载 JavaScript 模块的发展史

我们都知道 JavaScript 中并没有模块的概念,一开始 JavaScript 的出现只是作为简单脚本语言来实现简单的页面逻辑,而随着互联网的发展和 web 2.0 时代的到来,前端代码呈现井喷式发展,随着代码量的增加,模块缺失的问题日益凸显,而同时 JavaScript 社区也做了很多探索。那么什么是模块呢?模块,是指能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构...

2018-12-20 22:08:30 141

转载 驳《慎用 try catch》

观点一:try catch 耗性能(误)V8 的 TurboFan 引擎从 2013 年就开始开发,并随 Chrome 59 发布,try/catch 已经可以进行优化了,完全不用再担心性能问题。V8: Behind the Scenes (November Edition feat. Ignition+TurboFan and ES2015)观点二:try catch 捕获不到异步错误第...

2018-12-19 15:46:26 306 1

转载 ES6 完全使用手册

前言这里的 “ES6” 泛指 ES5 之后的新语法这里的 “完全” 是指本文会不断更新这里的 “使用” 是指本文会展示很多 ES6 的使用场景这里的 “手册” 是指你可以参照本文将项目更多的重构为 ES6 语法此外还要注意这里不一定就是正式进入规范的语法。let 和 const在我们开发的时候,可能认为应该默认使用 let 而不是 var,这种情况下,对于需要写保护的变量要使用 c...

2018-12-18 20:26:03 254

转载 JavaScript骚操作之操作符

三目运算符 ?:每到周末我都会问自己,怎么安排?于是我写了个程序跑了一下if (hasMoney) {console.log(‘周末嗨翻天’);} else {console.log(‘周末睡一天’);}看上去没有什么问题,但总感觉代码有点臃肿,能不能稍微简约一点?换成三目运算符后hasMoney ? console.log(‘周末嗨翻天’) : console.log(‘周末睡...

2018-12-17 15:03:45 173

原创 一年半经验,百度、有赞、阿里面试总结

百度 WEB前端工程师 连续五面 全程3约个小时一面先完成笔试题实现一个函数,判断输入是不是回文字符串。function run(input) {if (typeof input !== ‘string’) return false;return input.split(’’).reverse().join(’’) === input;}复制代码两种以上方式实现已知或者未知宽度的垂...

2018-12-13 17:04:46 263 2

原创 想不想通过一线互联网公司面试?

国内一线互联网公司内部面试题库以下面试题来自于百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐内部题库熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。一、java基础1.接口的意义(百度)规范、扩展、回调2.抽象类的意义(乐视)为其子类提供一个公共的类型 封装子类中得重复内容 定义抽象方法,子类虽然有不同的实现 但是定义是一致的3.内部类的作用(百度,乐视)内部类...

2018-12-12 18:50:52 242

空空如也

空空如也

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

TA关注的人

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