-
Java架构之Redis系列:通过文章点赞排名案例学习Sortedset命令
所属栏目:[优化] 日期:2019-08-28 热度:72
前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。 案例 demo功能是文章点赞排名等等,整个demo的大致页面如下。 准备工作 首先定义一个存储文章的key privatestaticfinalStringZSET_KEY=articleList[详细]
-
十大经典排序算法总结(含Java代码实现)
所属栏目:[优化] 日期:2019-08-28 热度:162
最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在桶排序算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的[详细]
-
详解Expdp/Impdp三种性能诊断方法--如何有效定位瓶颈?
所属栏目:[优化] 日期:2019-08-24 热度:140
概述 在导出导入过程中,偶尔会遇到一些性能问题,可以会因主机资源,数据库版本,PSU版本,datapump本身bug等原因导致。 这里首先可根据需求判断是在哪个环节出问题,导出/导入元数据还是数据时出现性能问题;是否是导出/导入特定对象遇到性能问题? 对于这[详细]
-
为何我建议1-3年的Java程序员仔细看看这篇文章
所属栏目:[优化] 日期:2019-08-24 热度:162
此文的目的是为了督促自己去不断学习,让自己有更明确的方向去提升自己。以技能树为基础,以面试要点为大纲,我觉得比抓住什么看什么要更有目的,更能坚持下去。世界瞬息万变,我们要时刻准备着、时刻提高着自己,才能使自己更具有竞争力。 一、Java技能树[详细]
-
你的也是我的。3例ko多线程,局部变量透传
所属栏目:[优化] 日期:2019-08-24 热度:121
java中的threadlocal,是绑定在线程上的。你在一个线程中set的值,在另外一个线程是拿不到的。如果在threadlocal的平行线程中,创建了新的子线程,那么这里面的值是无法传递、共享的(先想清楚为什么再往下看)。这就是透传问题。 值在线程之间的透传,你可[详细]
-
技术干货总结:分布式系统常见同步机制
所属栏目:[优化] 日期:2019-08-23 热度:140
布式系统为保证数据高可用,需要为数据保存多个副本,随之而来的问题是如何在不同副本间同步数据?不同的同步机制有不同的效果和代价,本文尝试对常见分布式组件的同步机制做一个小结。 常见机制 有一些常用的同步机制,对它们也有许多评价的维度,先看看大[详细]
-
来一个老生常谈的话题,JavaScript中,数组如何去重?
所属栏目:[优化] 日期:2019-08-23 热度:65
关于如何去除一个给定数组中的重复项,应该是 Javascript 面试中最常见的一个问题了,最常见的方式有三种:Set、Array.prototype.filter 以及 Array.prototype.reduce,对于只有简单数据的数组来讲,我最喜欢 Set,没别的,就是写起来简单。 constoriginal[详细]
-
作为运维还不会正则表达式?赶快看这篇学习一下
所属栏目:[优化] 日期:2019-08-23 热度:65
概述 正则表达式是很多运维薄弱的一项技能。大家很多时候都会觉得正则表达式难记、难学、难用,但不可否认的是正则表达式是一项很重要的技能,所有今天将学习和使用正则表达式时的关键点整理如下,仅供参考。 什么是正则表达式? 正则表达式(Regular Expres[详细]
-
Java 五大框架之间的对比
所属栏目:[优化] 日期:2019-08-23 热度:194
Spring 及其优点 大部分项目都少不了spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢? Spring是什么: Spring是一个轻量级的DI和AOP容器框架。 说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是[详细]
-
微服务注册中心 Eureka 架构深入解读
所属栏目:[优化] 日期:2019-08-23 热度:169
微服务架构中最核心的部分是服务治理,服务治理最基础的组件是注册中心。随着微服务架构的发展,出现了很多微服务架构的解决方案,其中包括我们熟知的 Dubbo 和 Spring Cloud。 关于注册中心的解决方案,dubbo 支持了 Zookeeper、Redis、Multicast 和 Simp[详细]
-
你真的了解Python吗?单引号,双引号,三引号有什么区别?
所属栏目:[优化] 日期:2019-08-23 热度:119
写Python脚本时,使用引号定义字符串内容;在Python中,可以使用三种引号,分别是单引号,双引号,三引号等,这三种引号都用来定义字符串,那使用起来有什么区别吗? 先说一下单引号,双引号 单引号和双引号都都是用来定义一个字符串: 实际上单引号和双引号[详细]
-
Java设计模式、框架、架构、平台之间的关系
所属栏目:[优化] 日期:2019-08-23 热度:104
1、设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单。那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类、对象和接口之间的关系,是前人总结的经验。比如我要在代码中实现一个全局唯一的配[详细]
-
一文读懂MQ消息队列
所属栏目:[优化] 日期:2019-08-23 热度:63
MQ(消息队列)在软件架构中是经常被使用的,特别是在分布式系统中也是使用频率很高的组件。 以下从消息队列的使用场景、概念、常见问题及解决方案来详细讲解。 一、消息队列使用场景 1.1 常见的使用场景 系统解耦 在分布式环境下,系统间的相互依赖,最终会[详细]
-
汇总五大通用编程工具,作为程序员没用过3款以上的,都OUT了
所属栏目:[优化] 日期:2019-08-23 热度:165
作为程序员来说,做编程可谓是家常便饭了,俗话说得好:功夫再高,也要趁手的兵器!正如程序员做编程一样,今天给小伙伴推荐的是大部分程序员最常用的五大工具,作为资历程序员没用过3款以上的太有点被out的感觉! 1 Notepad++ 这款工具看上去是不是都很熟悉[详细]
-
为什么程序员的业余项目大多都死了?
所属栏目:[优化] 日期:2019-08-23 热度:170
我们都有这样的业余项目:项目创建一半就弃之于坟墓,未完成的梦想遗体就这样扔之于文件夹中。游戏、应用程序、可视化数据等等。现在所谓伟大的点子最后只能沦落为空气中卑贱的尘埃。 这是一个可悲的事实,因为业余项目原本应该成为一个传奇。在它们最辉煌[详细]
-
粉丝关系链,10亿数据,如何设计?
所属栏目:[优化] 日期:2019-08-22 热度:180
继续答星球水友提问,大数据量,高并发量,好友关系链、粉丝关系链要如何设计? 什么是关系链业务? 关系链主要分为两类,弱好友关系与强好友关系,两类都有典型的互联网产品应用。 弱好友关系的建立,不需要双方彼此同意: 用户A关注用户B,不需要用户B同意[详细]
-
Stack Overflow 引入 CROKAGE,搜问题不用再东拼西凑
所属栏目:[优化] 日期:2019-08-22 热度:128
许多开发者使用 Stack Overflow 搜索开发中遇到的问题,有时候需要查询的结果中有通俗的讲解,而且最好还能够带上代码 demo,但是两者同时很完美地满足要求还是比较困难的。不过最近 Stack Overflow 官方博客上介绍了一种智能化的技术,或许可以解决这一问[详细]
-
微软收购科技公司Jclarity:帮助前者优化Java程序
所属栏目:[优化] 日期:2019-08-22 热度:52
据外媒报道,今天,微软宣布收购 AdoptOpenJDK 项目的主要贡献者 jClarity 公司,以支持他们继续为开源项目作贡献,同时提高 Azure 云服务处理 Java 工作负载的性能。 该团队由 Java 冠军和数据科学家组成,他们在数据驱动的 Java 虚拟机(JVM)优化方面具有[详细]
-
利用Click和argparse给你Python程序构建一个优雅的命令行界面
所属栏目:[优化] 日期:2019-08-22 热度:193
我们知道在Linux下有优雅的shell终端命令行界面,shell脚本都可以优雅用命令行的方式来运行。而且shell也再带优化命令行参数解析的bash内部命令getopts和大多数发行版附带的外部命令getops。Perl语言也有Getopt::XX系列模块来实现类似功能;Golang也有fla[详细]
-
一文读懂客户端请求是如何到达服务器的(干货)
所属栏目:[优化] 日期:2019-08-22 热度:104
互联网是人类历史上最伟大的发明创造之一,而构成互联网架构的核心在于TCP/IP协议。那么TCP/IP是如何工作的呢,我们先从数据包开始讲起。 1、数据包 一、HTTP请求和响应步骤 http请求全过程 请求 响应 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/I[详细]
-
码农都该知道的开发工具
所属栏目:[优化] 日期:2019-08-22 热度:157
阿里篇 一、Java 线上诊断工具 Arthas Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具。 使用场景: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法[详细]
-
为什么要放弃一切选择python?这里给你答案
所属栏目:[优化] 日期:2019-08-22 热度:190
作为新手,在面对广泛应用于企业级应用开发的 Java、游戏客户端开发的 C++、嵌入式开发的 C、人工智能领域的 Python 等数百种编程语言时,你会如何选择自己的第一门编程语言? 刚入行的程序员总是询问他们应该从哪种语言开始,我告诉他们,他们应该首先学习[详细]
-
超详细的Oracle数据库表碎片整理规范,值得收藏
所属栏目:[优化] 日期:2019-08-22 热度:55
概述 生产环境中,经常会遇到表由于数据不断插入,导致空间越来越大,由于前期配置问题,没有做分区或者其他优化,而且生产数据实时向表插入。要删除历史数据来释放空间。所以DBA一般都需要定期去对Oracle表碎片做整理,简单整理表碎片整理流程如下: 1、[详细]
-
集思广议!Python、Java、C语言到底选择谁更适合编程语言的学习
所属栏目:[优化] 日期:2019-08-22 热度:173
IT行业飞速发展,除了水涨船高的薪资水平,还有不断推陈出新的编程技术。不同的技术,应用在不同的领域。但对于小白来说,想要投身这个行业,我该从何学起?那些应用领域是未来的大趋势?而我未来的学习方向又有哪些呢? 没关系,小编最近得来一张《编程语言[详细]
-
10分钟快速掌握Docker必备基础知识
所属栏目:[优化] 日期:2019-08-22 热度:167
Docker是时下热门的容器技术,相信作为一名开发人员,你一定听说过或者使用过,很多人会把Docker理解为一个轻量级虚拟机,但其实Docker与虚拟机(VM)是两种不同的计算机虚拟化技术,也有很多人会觉得,有了虚拟机,那为什么还要使用Docker呢? 带着心里的一[详细]