-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-10-31 热度:106
可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-10-31 热度:176
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
Java 中常见的几个陷阱,你没有遇到几个?
所属栏目:[优化] 日期:2019-10-31 热度:159
概述 java 中有很多,新手经常遇到的陷阱,本文主要包含 自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 ==进行对象比较 double 类型计算 不可变的String Java String类是不可变的(不可修改)。这是因为String对象被缓存在String池中。字符串引[详细]
-
茶余饭后聊聊 Vue3.0 响应式数据那些事儿
所属栏目:[优化] 日期:2019-10-31 热度:100
别再更新了,实在是学不动了这句话道出了多少前端开发者的心声,不幸的是 Vue 的作者在国庆区间发布了 Vue3.0 的 pre-Aplha 版本,这意味着 Vue3.0 快要和我们见面了。既来之则安之,扶我起来我要开始讲了。Vue3.0 为了达到更快、更[详细]
-
Redis优化高并发下的秒杀性能
所属栏目:[优化] 日期:2019-10-31 热度:139
本文内容 使用Redis优化高并发场景下的接口性能 数据库乐观锁 随着双11的临近,各种促销活动开始变得热门起来,比较主流的有秒杀、抢优惠券、拼团等等。 涉及到高并发争抢同一个资源的主要场景有秒杀和抢优惠券。 前提 活动规则 奖品数量有限,比如100个[详细]
-
关于Python导入模块,你可能没学透
所属栏目:[优化] 日期:2019-10-28 热度:112
作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包。但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活。在本文中,我们将探讨以下话题: 常规导入(regular imports) 使用from语句导入 相对[详细]
-
千万级流量架构下的负载均衡解析
所属栏目:[优化] 日期:2019-10-28 热度:69
一、负载均衡 集群中的应用服务器(节点)通常被设计成无状态,用户可以请求任何一个节点。 负载均衡器会根据集群中每个节点的负载情况,将用户请求转发到合适的节点上。 负载均衡器可以用来实现高可用以及伸缩性: 高可用:当某个节点故障时,负载均衡器会[详细]
-
网络爬虫是啥玩意儿?有什么用呢?
所属栏目:[优化] 日期:2019-10-28 热度:97
在这个用数据说话的时代,数据是一件极其重要的事情,怎样才能抓取到完整以及全面的数据呢?这并不是一件容易的事情。 如果想要做好大数据的分析,单单依靠一己之力或者是周边的数据是远远不够的,还需要借助神秘的外部力量。 这个时候,互联网上的资源就非[详细]
-
2019 年,React 开发人员应该使用的 22 个神奇工具
所属栏目:[优化] 日期:2019-10-28 热度:181
正如我们所知, React 是 JavaScript 库,用于构建精彩的用户界面。然而,并不是每个人都在使用相同的工具或知道有这么一些出色的工具,可以让 Reacat 开发体验变得更加有趣和积极主动。 如果大家还没有用过 React,或者大家的朋友可能有兴趣使用它,那么[详细]
-
Java线程池的四种用法与使用场景
所属栏目:[优化] 日期:2019-10-28 热度:98
一、如下方式存在的问题 newThread(){ @Override publicvoidrun(){ //业务逻辑 } }.start(); 1、首先频繁的创建、销毁对象是一个很消耗性能的事情;2、如果用户量比较大,导致占用过多的资源,可能会导致我们的服务由于资源不足而宕机;3、综上所述,在实际[详细]
-
New一个对象的时候发生了什么?
所属栏目:[优化] 日期:2019-10-28 热度:65
一、引言 如你所知,Java是一门面向对象的编程语言。我们平常在写代码的时候也是在不停的操作各种对象,那么当你在写出User user = new User();这样一行代码的时候,JVM都做了些什么呢? 二、了解对象 1、内存布局 在Hotspot虚拟机中一个对象的内存布局分为[详细]
-
干货盘点!推荐程序员使用的5款工具软件
所属栏目:[优化] 日期:2019-10-28 热度:74
说到程序员,大多数人脑袋里显现出来的第一个画面应当就是一个面容冷漠的人指尖在键盘上快速飞跃敲出一行行看不懂的字符就能轻而易举入侵别人的系统。然而想象很丰满,现实是很骨感的,大多数程序员都只是一个简单的码农。当然啦,二进制世界的神秘与魅力[详细]
-
详解:Python 取numpy数组的某几行某几列方法(含对与错示例)
所属栏目:[优化] 日期:2019-10-28 热度:107
前言: 今天为大家带来的内容是Python 取numpy数组的某几行某几列方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,要是喜欢的话记得点赞转发收藏不迷路哦!!! 直接分析,如原矩阵如下(1): (1) 我们要截取的矩阵(取其[详细]
-
知乎用Go替代Python,说明了啥
所属栏目:[优化] 日期:2019-10-28 热度:84
大概每个开发人员应该都会认为自己使用的语言是世界最好的语言吧。这都相对来说的。对于每个人应该都是不同的。 众所周知,知乎早在几年前就将推荐系统从 Python 转为了 Go。于是乎,一部分人就说 Go 比 Python 好,Go 和 Python 两大社区的相关开发人员为[详细]
-
7个Python特殊技巧,助力你的数据分析工作之路
所属栏目:[优化] 日期:2019-10-28 热度:156
本文列举了一些提升或加速日常数据分析工作的技巧,包括: Pandas Profiling 使用 Cufflinks 和 Plotly 绘制 Pandas 数据 IPython 魔术命令 Jupyter 中的格式编排 Jupyter 快捷键 在 Jupyter(或 IPython)中使一个单元同时有多个输出 为 Jupyter Notebook[详细]
-
网络爬虫程序员被抓,我们还敢爬虫吗?细数那些Java爬虫技术
所属栏目:[优化] 日期:2019-10-25 热度:63
最近,某大数据科技公司因为涉嫌非法抓取某招聘网站用户的简历信息,公司被查封,负责编写抓取程序的程序员也将面临坐牢。 事情的大概经过是这样的: 某大数据科技公司老板丢给一个小小的程序员一个网站,告诉他把这个网站的数据抓取下来,咱们做一做分析[详细]
-
数据科学中一些不常用但很有用的Python库
所属栏目:[优化] 日期:2019-10-25 热度:119
导读 提到数据科学的python包,大家想到的估计是numpy,pandas,scikit-learn之类的,这里给大家介绍一些不常用,但是非常有用的python包,就像是痒痒挠,虽然大部分时间用不上,但是真要用起来,还是挺爽的。 Python是个了不起的语言。事实上,这是世界上[详细]
-
3分钟让你明白:HashMap之红黑树树化过程
所属栏目:[优化] 日期:2019-10-23 热度:120
01 概述 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文主要分析一下HashMap中红黑树树化的过程。 02[详细]
-
揭开 JavaScript 引擎的面纱
所属栏目:[优化] 日期:2019-10-23 热度:55
前言 最初,JavaScript 只能在 Web 浏览器中运行,但是随着 Node 的出现,现在 JavaScript 也可以在服务端运行。虽然我们可能知道应该在何时何地去使用它, 但是我们真的了解这些脚本执行的背后发生了什么吗? 如果您觉得自己对 JavaScript 引擎有了一些了[详细]
-
搞定 Linux Shell 文本处理工具,看完这篇集锦就够了
所属栏目:[优化] 日期:2019-10-23 热度:124
Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被Python等脚本代替。既然是基本功,那就需要掌握,毕竟学习Shell脚本的过程中,还是能了解到很多Linux系统的内容。 Linux脚本大师不是人人都可以达到的,但是用一些简单的Shell实现一些常[详细]
-
炒作还是赌未来?量子技术深陷淘金狂潮
所属栏目:[优化] 日期:2019-10-23 热度:183
量子技术的概念出现之后,几乎所有的科幻小说、电影里都有它的身影。不管到底是不是强相关,只要遇见了没法解释说明的问题,就套用量子技术的概念来解释,仿佛量子技术是万能的。 随着技术的进步,量子技术也逐渐从虚无缥缈的概念变得真实可触,来自全球的[详细]
-
Java中牛逼哄哄的消息队列到底有什么用?
所属栏目:[优化] 日期:2019-10-21 热度:58
最近小千会听到很多学员说,在面试大型互联网公司的时候,很可能会被问到消息队列的问题: 在何种场景下使用了消息中间件? 为什么要在系统里引入消息中间件? 如何实现幂等? 链式调用是我们在写程序时候的一般流程,为了完成一个整体功能,会将其拆分成多个[详细]
-
如何避免新代码变包袱?阿里通用方法来了
所属栏目:[优化] 日期:2019-10-21 热度:71
什么是设计?什么是架构?从零开始建立一个新的系统,新写的每行代码都可能成为明天的历史包袱?如何能有效的在遗留代码上工作?今天,阿里资深技术专家辉子为我们带来NBF框架下软件工程架构设计通用方法论,值得细细品读。 Note:本文讨论的是基于服务化前提[详细]
-
还不懂微服务原理?阿里高级技术专家带你看透微服务的来龙去脉
所属栏目:[优化] 日期:2019-10-21 热度:75
我们先看下维基百科和百度百科给出的定义: 维基百科:2014年,Martin Fowler 与 James Lewis 共同提出了微服务的概念,定义了微服务是由以单一应用程序构成的小服务,自己拥有自己的行程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服[详细]
-
9款Kubernetes的无服务器工具,收藏了
所属栏目:[优化] 日期:2019-10-21 热度:106
继续分享Kubernetes的有用工具,本文为大家介绍9款Kubernetes的无服务器工具,朋友们喜欢的话,请多多评论转发,给更多的朋友。 1.Kubeless Kubeless是Kubernetes原生的无服务器框架,可让你部署少量代码,而不必担心基础架构的问题。Kubeless有开箱即用的[详细]
