-
多线程的执行效率一定高于单线程吗?
所属栏目:[优化] 日期:2019-10-30 热度:117
一、什么是串行?什么是并行? 串行:任务进行排队,一个一个执行; 并行:多个任务齐头并进。 二、单核、多核这两种情况下的并行。 单核情况下的并行:并非真的是多个任务同时进行的,是需要在这任务之间来回切换(即上下文切换)的。 多核情况下的并行:是几[详细]
-
Java实现线程安全的方式
所属栏目:[优化] 日期:2019-10-30 热度:180
多线程环境中如何保证线程安全?java可以实现线程安全的方式归纳如下: 1、使用synchronized关键字 synchronized关键字可以修饰方法和代码块,它的语义是保证同一段代码同一时间只能有一个线程在执行。 2、使用volatile关键字 volatile关键字用来修饰共享变[详细]
-
详解ETL工具十大必备的功能特性
所属栏目:[优化] 日期:2019-10-30 热度:123
概述 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行。 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用。今天主要先描述ETL工具的通用功能。 ETL工具的功能之一:连接 任何ETL工具[详细]
-
把JS代码生成字节码,用字节码技术保护NodeJS源码
所属栏目:[优化] 日期:2019-10-30 热度:137
现在很后端服务都是用NodeJS开发的,比如网站后台、游戏服务器、应用服务等等。但NodeJS的后端,有一个弊端,常让人心里不踏实:JS的代码,代码是透明公开的,很容易被他人COPY,很容易自己开发产品就泄漏了,甚至是很快出现雷同产品。 这里介绍一种NodeJS[详细]
-
初创公司技术困境:弹性部署与详尽测试
所属栏目:[优化] 日期:2019-10-30 热度:126
副标题#e# 作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务[详细]
-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-10-30 热度:126
副标题#e# 可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-10-30 热度:172
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
13 个 JS 数组精简技巧,一起来看看
所属栏目:[优化] 日期:2019-10-29 热度:102
数组是 JS 最常见的一种数据结构,咱们在开发中也经常用到,在这篇文章中,提供一些小技巧,帮助咱们提高开发效率。 1. 删除数组的重复项 2. 替换数组中的特定值 有时在创建代码时需要替换数组中的特定值,有一种很好的简短方法可以做到这一点,咱们可以使用.[详细]
-
作为一个C/C++工程师,聊聊对Python的看法
所属栏目:[优化] 日期:2019-10-29 热度:155
前言 首先说明,这不是软文。仅仅是个人看法,同时也会仍然坚持C/C++,毕竟要吃饭。 近年来以及最近想必大家总能看到Python的身影,有的是频繁报道Python制霸编程语言排行榜,有的是总能看到各种Python的培训课程,作为主要使用其他语言的你,恐怕心里很难[详细]
-
Java面试-如何获取客户端真实IP
所属栏目:[优化] 日期:2019-10-29 热度:131
副标题#e# 在进行一些小游戏开发时,我们经常比较关注的一个功能便是分享。针对分享,我们希望能根据各个城市或者地区,能有不同的分享文案,辨识地区的功能如果由服务器来完成的话,我们就需要知道客户端的真实IP。今天我们就来看看服务器是如何获取到客户[详细]
-
一把“万能钥匙”就能开所有共享单车,撬走3亿元,开发者已被抓捕...
所属栏目:[优化] 日期:2019-10-29 热度:97
共享单车是别人的,运营管理的也是别人,做一把万能钥匙,打开所有的共享单车,钱就落到自己的口袋,天下哪里能有这样的好事? 最近,据央视新闻报道,上海公安机关接到共享单车企业报案,随后破获了一起共享单车万能解锁 App 案,犯罪嫌疑人开发的 App 软[详细]
-
Python正则表达式教程-常用文本处理技巧
所属栏目:[优化] 日期:2019-10-29 热度:102
副标题#e# 介绍: 正则表达式用于识别模式(pattern)是否存在于给定的字符(字符串)序列中。它们有助于处理文本数据,这通常是涉及文本挖掘的数据科学项目的先决条件。您一定遇到过一些正则表达式的应用程序:它们在服务器端用于在注册过程中验证电子邮件地址[详细]
-
Python常用的算法——贪心算法(又称贪婪算法),你知道吗?
所属栏目:[优化] 日期:2019-10-29 热度:73
副标题#e# 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是好的选择。也就是说,不从整体最优上加以考虑,他所做出的的时在某种意义上的局部最优解。 贪心算法并不保证会得到最优解,但是在某些问题上贪心算法的解就是最优解。要会判断[详细]
-
Python小工具:3秒钟将视频转换为音频
所属栏目:[优化] 日期:2019-10-28 热度:85
副标题#e# 最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了。 这样,对于有些视频学习文件,我们可以批量转换成音频文件,学习方式更多样化了。 之前也用过 ffmpeg 处理视频文件。ffmpeg 这个[详细]
-
内存崩溃了?其实你只需要换一种方式
所属栏目:[优化] 日期:2019-10-28 热度:59
副标题#e# 在上一篇 Java 多线程爬虫及分布式爬虫架构探索 中,我们使用了 JDK 自带的 Set 集合来进行 URL 去重,看上去效果不错,但是这种做法有一个致命了缺陷,就是随着采集的 URL 增多,你需要的内存越来越大,最终会导致你的内存崩溃。那我们在不使用[详细]
-
什么是Docker?与虚拟机有什么区别?
所属栏目:[优化] 日期:2019-10-28 热度:77
Docker 概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙盒机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能[详细]
-
MySQL开发规范与使用技巧总结
所属栏目:[优化] 日期:2019-10-28 热度:143
命名规范 1.库名、表名、字段名必须使用小写字母,并采用下划线分割。 a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为 0,即库表名以实际情况存储,大小写敏感。如果是1,以小写存储,大小写不敏感。如果是2,以实际情况存储,[详细]
-
分享一款自动化运维工具--PSSH工具
所属栏目:[优化] 日期:2019-10-28 热度:196
概述 前面已经介绍了怎么用脚本实现了对一些服务器的远程控制和文件传输,那么有没工具可以类似功能呢? 1、PSSH简介 PSSH提供OpenSSH和相关工具的并行版本。包括pssh,pscp,prsync,pnuke和pslurp。该项目包括psshlib,可以在自定义应用程序中使用。 pssh[详细]
-
7个Python特殊技巧,助力你的数据分析工作之路
所属栏目:[优化] 日期:2019-10-28 热度:171
副标题#e# 本文列举了一些提升或加速日常数据分析工作的技巧,包括: Pandas Profiling 使用 Cufflinks 和 Plotly 绘制 Pandas 数据 IPython 魔术命令 Jupyter 中的格式编排 Jupyter 快捷键 在 Jupyter(或 IPython)中使一个单元同时有多个输出 为 Jupyter N[详细]
-
知乎用Go替代Python,说明了啥
所属栏目:[优化] 日期:2019-10-27 热度:142
大概每个开发人员应该都会认为自己使用的语言是世界最好的语言吧。这都相对来说的。对于每个人应该都是不同的。 众所周知,知乎早在几年前就将推荐系统从 Python 转为了 Go。于是乎,一部分人就说 Go 比 Python 好,Go 和 Python 两大社区的相关开发人员为[详细]
-
千万级流量架构下的负载均衡解析
所属栏目:[优化] 日期:2019-10-26 热度:172
副标题#e# 一、负载均衡 集群中的应用服务器(节点)通常被设计成无状态,用户可以请求任何一个节点。 负载均衡器会根据集群中每个节点的负载情况,将用户请求转发到合适的节点上。 负载均衡器可以用来实现高可用以及伸缩性: 高可用:当某个节点故障时,负载[详细]
-
网络爬虫是啥玩意儿?有什么用呢?
所属栏目:[优化] 日期:2019-10-26 热度:125
在这个用数据说话的时代,数据是一件极其重要的事情,怎样才能抓取到完整以及全面的数据呢?这并不是一件容易的事情。 如果想要做好大数据的分析,单单依靠一己之力或者是周边的数据是远远不够的,还需要借助神秘的外部力量。 这个时候,互联网上的资源就非[详细]
-
2019 年,React 开发人员应该使用的 22 个神奇工具
所属栏目:[优化] 日期:2019-10-26 热度:151
副标题#e# 正如我们所知, React 是 JavaScript 库,用于构建精彩的用户界面。然而,并不是每个人都在使用相同的工具或知道有这么一些出色的工具,可以让 Reacat 开发体验变得更加有趣和积极主动。 如果大家还没有用过 React,或者大家的朋友可能有兴趣使用[详细]
-
Java线程池的四种用法与使用场景
所属栏目:[优化] 日期:2019-10-26 热度:121
副标题#e# 一、如下方式存在的问题 newThread(){ @Override publicvoidrun(){ //业务逻辑 } }.start(); 1、首先频繁的创建、销毁对象是一个很消耗性能的事情;2、如果用户量比较大,导致占用过多的资源,可能会导致我们的服务由于资源不足而宕机;3、综上所述[详细]
-
New一个对象的时候发生了什么?
所属栏目:[优化] 日期:2019-10-26 热度:106
一、引言 如你所知,Java是一门面向对象的编程语言。我们平常在写代码的时候也是在不停的操作各种对象,那么当你在写出User user = new User();这样一行代码的时候,JVM都做了些什么呢? 二、了解对象 1、内存布局 在Hotspot虚拟机中一个对象的内存布局分为[详细]

浙公网安备 33038102330484号