-
别再找了,一文彻底解析Java 中的弱引用
所属栏目:[优化] 日期:2019-11-06 热度:183
概览 本文会通过对弱引用的定义讲起,然后通过案例的使用一步一步的深入源码进行分析其原理,从而让读者深刻的理解什么是弱引用,如何使用弱引用,什么场景下会使用弱引用,弱引用可以解决什么样的问题,以及它的源码实现是怎样的,其中会涉及的内存溢出,[详细]
-
Java性能优化:35个小细节,提升你的Java代码运行效率
所属栏目:[优化] 日期:2019-11-06 热度:84
前言 代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂[详细]
-
你可能错过的现代 JavaScript 特性
所属栏目:[优化] 日期:2019-11-06 热度:102
尽管我在过去 7 年中几乎每天都在写 JavaScript 代码,但不得不承认,我实际上并不是很注意 ES 语言的发布声明。 async/await 和 Proxies 之类的主要特性是一回事,但是每年都有稳定的小规模、渐进式的改进在不断涌现,因为总有一些东西需要学习。 所以在[详细]
-
Python数据可视化:箱线图多种库画法
所属栏目:[优化] 日期:2019-11-06 热度:104
概念 箱线图通过数据的四分位数来展示数据的分布情况。例如:数据的中心位置,数据间的离散程度,是否有异常值等。 把数据从小到大进行排列并等分成四份,第一分位数(Q1),第二分位数(Q2)和第三分位数(Q3)分别为数据的第25%,50%和75%的数字。 四分位间距([详细]
-
Java异常处理 10 个优秀实践
所属栏目:[优化] 日期:2019-11-06 热度:115
异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中。Java 编程语言也[详细]
-
学Python的要注意,为什么只会Python可能很难找到工作
所属栏目:[优化] 日期:2019-11-05 热度:92
什么是Python? Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。 Python现在确实是目前比较热门的一个编程语言,但热门,并不一定意味着一[详细]
-
我用Python帮朋友做了张猪肉数据分析图,结果。。。
所属栏目:[优化] 日期:2019-11-05 热度:123
事情的经过是这样的: 我开开心心的去一家烧饼店吃饭 抬头一看,二师兄又涨价了 叹了口气,再这么下去真的要吃不起夹肉的烧饼了 点了两个烧饼一碗馄饨 快吃完的时候,收到了朋友阿东的微信 阿东是我初中同学,好些日子没联系了 眼瞅着他快聊到区块链了,虽[详细]
-
11个促进Android应用开发的工具
所属栏目:[优化] 日期:2019-11-05 热度:59
Android操作系统在Google Play上拥有大约300万个移动应用,从而成功地引领了全球格局。很多企业Android系统构建自己的业务生态。但并非每个企业都具有通过本机工具从头开始构建应用所需的知识和服务。为了更快,更有效地推出应用。你可能离不开集成开发环[详细]
-
Java服务,内存OOM问题如何快速定位?
所属栏目:[优化] 日期:2019-11-05 热度:143
最近有朋友在知识星球提问: 沈老师,有一个Java服务出现了OOM(Out Of Memory)问题,定位了好久不得其法,请问有什么好的思路么? OOM的问题,印象中之前写过,这里再总结一些相对通用的方案,希望能帮助到Java技术栈的同学。 某Java服务(假设PID=10765)出[详细]
-
微软日本每周只上四天班,销售额提升39.9%!
所属栏目:[优化] 日期:2019-11-05 热度:129
为了让员工多干活,中国科技公司的老板们选择让员工996、大小周;而隔壁以过劳闻名的霓虹国,资本家们已经把员工的工作时间缩短到954了! 朝九晚五,每天上4天班,也就是说,比正常的955还少上一天班,周四下班就休息,周五、周六、周日连休三天! 简直每[详细]
-
GitLab,是谁给了你歧视中国程序员的勇气?
所属栏目:[优化] 日期:2019-11-05 热度:168
科技公司明目张胆以国籍和居住地限制招聘?近日,由谷歌投资的全球第二大开源代码托管平台GitLab宣布了一个封锁令,禁止给中国/俄罗斯公民提供offer,并表示在当前的地缘政治环境下,这是最为人道的解决方案。 科技公司明目张胆以国籍和居住地限制招聘的事[详细]
-
Visual Studio Online 终于公开上线了
所属栏目:[优化] 日期:2019-11-05 热度:188
盼望已久的 Visual Studio Online 终于上线了。 今年 5 月份,微软在 Build 2019 开发者大会上宣布了 Web 版本的 VS Code,即Visual Studio Online。当时微软释出的是Private Preview 版本,仅允许开发者申请试用,而在 11 月 4 日微软 Ignite 2019 大会上[详细]
-
重构的艺术:五个小妙招助你写出好代码!
所属栏目:[优化] 日期:2019-11-05 热度:158
糟糕的代码可以运作,但早晚会让我们付出代价。你有没有遇到过这样的问题:几周后,你无法理解自己的代码,于是不得不花上几个小时,甚至几天的时间来弄清楚到底发生了什么。 解决这个常见问题的方法是使代码尽可能清晰。如果做得更好的话,即使是非技术人[详细]
-
把JS代码生成字节码,用字节码技术保护NodeJS源码
所属栏目:[优化] 日期:2019-11-05 热度:172
现在很后端服务都是用NodeJS开发的,比如网站后台、游戏服务器、应用服务等等。但NodeJS的后端,有一个弊端,常让人心里不踏实:JS的代码,代码是透明公开的,很容易被他人COPY,很容易自己开发产品就泄漏了,甚至是很快出现雷同产品。 这里介绍一种NodeJS[详细]
-
初创公司技术困境:弹性部署与详尽测试
所属栏目:[优化] 日期:2019-11-05 热度:136
作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务是 Algolia[详细]
-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-11-05 热度:117
可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-11-05 热度:178
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
Java 中常见的几个陷阱,你没有遇到几个?
所属栏目:[优化] 日期:2019-11-05 热度:196
概述 java 中有很多,新手经常遇到的陷阱,本文主要包含 自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 ==进行对象比较 double 类型计算 不可变的String Java String类是不可变的(不可修改)。这是因为String对象被缓存在String池中。字符串引[详细]
-
茶余饭后聊聊 Vue3.0 响应式数据那些事儿
所属栏目:[优化] 日期:2019-11-05 热度:97
别再更新了,实在是学不动了这句话道出了多少前端开发者的心声,不幸的是 Vue 的作者在国庆区间发布了 Vue3.0 的 pre-Aplha 版本,这意味着 Vue3.0 快要和我们见面了。既来之则安之,扶我起来我要开始讲了。Vue3.0 为了达到更快、更[详细]
-
Redis优化高并发下的秒杀性能
所属栏目:[优化] 日期:2019-11-05 热度:123
本文内容 使用Redis优化高并发场景下的接口性能 数据库乐观锁 随着双11的临近,各种促销活动开始变得热门起来,比较主流的有秒杀、抢优惠券、拼团等等。 涉及到高并发争抢同一个资源的主要场景有秒杀和抢优惠券。 前提 活动规则 奖品数量有限,比如100个[详细]
-
作为高级Java,你应该了解的Linux知识
所属栏目:[优化] 日期:2019-11-05 热度:99
Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一[详细]
-
来吧,说说你眼中的微服务
所属栏目:[优化] 日期:2019-11-05 热度:150
微服务划分模式 虽然服务是逐步被拆分出来的,随着业务的演进,在某一时刻,可能需要我们重新审视服务划分得是否合理。本节向大家推荐两种服务划分的方法,首先介绍如何选择服务划分的方法。 基于业务复杂度选择服务划分方法 根据业务复杂度划分服务,如图[详细]
-
线程、多线程和线程池,我终于把这些全部搞懂了
所属栏目:[优化] 日期:2019-11-05 热度:132
1、开启线程的三种方式? 1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start(); 2)实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start(); 3)实现Callable接口MyCallable类,实现call()方法,使用Futur[详细]
-
MongoDB实现问卷/考试设计
所属栏目:[优化] 日期:2019-11-05 热度:130
MongoDB的特点 MongoDB是一个面向文档存储的数据库。在MongoDB中,一条记录叫做document(文档),由类似于JSON结构的键值对组成。 由于类似于MongoDB直接存储JSON的特性,MongoDB天生适合作为存储结构复杂的数据结构的介质。类似于问卷调查和考试这种需求[详细]
-
四条使用Spring BeanUtils的总结,避免各种诡异的属性拷贝问题!
所属栏目:[优化] 日期:2019-11-04 热度:74
背景 最近项目中在和第三方进行联调一个接口,我们这边发送http请求给对方,然后接收对方的回应,代码都是老代码。根据注释,对方的SDK中写好的Request类有一个无法序列化的bug,所以这边重新写了一个Request类,基本属性都是相同的,但是重点是有一个属性[详细]