-
Java实现线程安全的方式
所属栏目:[优化] 日期:2019-11-02 热度:81
多线程环境中如何保证线程安全?java可以实现线程安全的方式归纳如下: 1、使用synchronized关键字 synchronized关键字可以修饰方法和代码块,它的语义是保证同一段代码同一时间只能有一个线程在执行。 2、使用volatile关键字 volatile关键字用来修饰共享变[详细]
-
详解ETL工具十大必备的功能特性
所属栏目:[优化] 日期:2019-11-02 热度:169
概述 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行。 说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使用。今天主要先描述ETL工具的通用功能。 ETL工具的功能之一:连接 任何ETL工具[详细]
-
把JS代码生成字节码,用字节码技术保护NodeJS源码
所属栏目:[优化] 日期:2019-10-31 热度:67
现在很后端服务都是用NodeJS开发的,比如网站后台、游戏服务器、应用服务等等。但NodeJS的后端,有一个弊端,常让人心里不踏实:JS的代码,代码是透明公开的,很容易被他人COPY,很容易自己开发产品就泄漏了,甚至是很快出现雷同产品。 这里介绍一种NodeJS[详细]
-
初创公司技术困境:弹性部署与详尽测试
所属栏目:[优化] 日期:2019-10-31 热度:179
作为一家初创公司,构建软件要坚持创新,要有吸引力和竞争力。因为,市场在不断变化,新的需求也在不断出现。 从软件角度来说,要保持这样的优势就意味着必须尽可能缩短文档和开发阶段所占的时间。当然,保持软件的弹性也很重要,提供优秀的服务是 Algolia[详细]
-
你的Java并发程序Bug,100%是这几个原因造成的
所属栏目:[优化] 日期:2019-10-31 热度:135
可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数[详细]
-
JavaScript冒泡排序与选择排序
所属栏目:[优化] 日期:2019-10-31 热度:163
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的。很多复杂的算法都是借助最基本的算法实现的。本文主要选取经典排序算法中[详细]
-
Java 中常见的几个陷阱,你没有遇到几个?
所属栏目:[优化] 日期:2019-10-31 热度:166
概述 java 中有很多,新手经常遇到的陷阱,本文主要包含 自动装箱与拆箱 不可变的String 内存泄漏 自增类型使用 使用 ==进行对象比较 double 类型计算 不可变的String Java String类是不可变的(不可修改)。这是因为String对象被缓存在String池中。字符串引[详细]
-
茶余饭后聊聊 Vue3.0 响应式数据那些事儿
所属栏目:[优化] 日期:2019-10-31 热度:61
别再更新了,实在是学不动了这句话道出了多少前端开发者的心声,不幸的是 Vue 的作者在国庆区间发布了 Vue3.0 的 pre-Aplha 版本,这意味着 Vue3.0 快要和我们见面了。既来之则安之,扶我起来我要开始讲了。Vue3.0 为了达到更快、更[详细]
-
Redis优化高并发下的秒杀性能
所属栏目:[优化] 日期:2019-10-31 热度:127
本文内容 使用Redis优化高并发场景下的接口性能 数据库乐观锁 随着双11的临近,各种促销活动开始变得热门起来,比较主流的有秒杀、抢优惠券、拼团等等。 涉及到高并发争抢同一个资源的主要场景有秒杀和抢优惠券。 前提 活动规则 奖品数量有限,比如100个[详细]
-
作为高级Java,你应该了解的Linux知识
所属栏目:[优化] 日期:2019-10-31 热度:136
Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一[详细]
-
来吧,说说你眼中的微服务
所属栏目:[优化] 日期:2019-10-31 热度:164
微服务划分模式 虽然服务是逐步被拆分出来的,随着业务的演进,在某一时刻,可能需要我们重新审视服务划分得是否合理。本节向大家推荐两种服务划分的方法,首先介绍如何选择服务划分的方法。 基于业务复杂度选择服务划分方法 根据业务复杂度划分服务,如图[详细]
-
线程、多线程和线程池,我终于把这些全部搞懂了
所属栏目:[优化] 日期:2019-10-31 热度:92
1、开启线程的三种方式? 1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务 new Thread().start(); 2)实现Runnable接口,实现run()方法 new Thread(new MyRunnable()).start(); 3)实现Callable接口MyCallable类,实现call()方法,使用Futur[详细]
-
浅谈了不起的前端
所属栏目:[优化] 日期:2019-10-30 热度:68
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 前言 喜欢聊一些新奇的技术,也喜欢学习新的东西,在这个日益繁荣的时代,有幸见证技术的发展是多么美好的一件事。 前端简史 技术的发展总是遇到问题,去解决问题,然后不断遇到问题,不[详细]
-
连接池中非常关键的两个参数,到底是干啥用的?
所属栏目:[优化] 日期:2019-10-30 热度:52
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 背景 说来惭愧,从事互联网开发好些年了,有些概念一直没有彻底搞清楚。其中之一就是,ttp client配置连接池的时候,maxConnectionsPerHost,和maxTotalConnections,在网上搜了一圈,发现很[详细]
-
用Python做个海量小姐姐素描图
所属栏目:[优化] 日期:2019-10-30 热度:95
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 素描作为一种近乎完美的表现手法有其独特的魅力,随着数字技术的发展,素描早已不再是专业绘画师的专利,今天这篇文章就来讲一讲如何使用python批量获取小姐姐素描画像。文章共分两部分:[详细]
-
Dockerfile:Docker中构建镜像用到的文本文档
所属栏目:[优化] 日期:2019-10-29 热度:152
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 在我们进行JavaEE开发的时候,经常使用Maven或者Gradle进行包管理,当我们需要某一个包时,只需在Maven或者Gradle添加该包的唯一标识,这个包就能从远程仓库拉取到本地,搭建私服的也会先[详细]
-
C/C++应用:深入理解Socket网络通信
所属栏目:[优化] 日期:2019-10-29 热度:187
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 Socket是网络通讯经常采用的一种方式,它不是一个具体的物件也不是想http类的通讯协议。你可以把它看成是一组基于TCP和UDP通信协议的接口,Socket其实就是一个门面模式,它把复杂的TCP/IP[详细]
-
从0到1设计一个MQ消息队列
所属栏目:[优化] 日期:2019-10-29 热度:178
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 消息队列作为系统解耦,流量控制的利器,是分布式系统核心组件之一。 了解消息队列背后的实现是非常重要的。 今天,我们就一起来探讨设计一个消息队列背后的技术。 消息队列整体设计思路[详细]
-
业务复杂=if else?刚来的大神竟然用策略+工厂彻底干掉了他们!
所属栏目:[优化] 日期:2019-10-29 热度:148
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 对于业务开发来说,业务逻辑的复杂是必然的,随着业务发展,需求只会越来越复杂,为了考虑到各种各样的情况,代码中不可避免的会出现很多if-else。 一旦代码中if-else过多,就会大大的影[详细]
-
清晰明了:Docker的四种网络模式
所属栏目:[优化] 日期:2019-10-28 热度:78
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 1、closed container 封闭式网络模式 相当于一座孤岛,没有网络协议栈的通信 使用none模式,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说[详细]
-
Python中14个切片操作,你常用哪几个?
所属栏目:[优化] 日期:2019-10-28 热度:108
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 切片(Slice)是一个取部分元素的操作,是Python中特有的功能。它可以操作list、tuple、字符串。 Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。切片操作的三个参数[详细]
-
详解Java使用Jsch与sftp服务器实现ssh免密登录
所属栏目:[优化] 日期:2019-10-28 热度:175
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 在实际项目中常会遇到需要连接服务器获取文件的场景,如账务系统需要通过连接行方的sftp服务器拉取回单文件。本文将主要讨论使用Java中的jsch与sftp服务器实现ssh免密连接。 一、什么是SF[详细]
-
天气变冷了,给父母制作一个天气提醒小助手
所属栏目:[优化] 日期:2019-10-28 热度:119
最近天气变冷了,和父母聊天中得知,他们查看每天的天气预报不太方便,我记得小时候,每晚 19:30 左右,一家人都要守在电视机旁边收听第二天的天气情况。 如今,对于我们年轻人来说,获取天气情况很方便,但是对于我们不擅长用手机的父母来说,还是很吃力[详细]
-
硬核!Rust异步编程方式重大升级:新版Tokio如何提升10倍性能详解
所属栏目:[优化] 日期:2019-10-28 热度:71
协程或者绿色线程是近年来经常讨论的话题。Tokio作为Rust上协程调度器实现的典型代表,其设计和实现都有其特色。本文是Tokio团队在新版本调度器发布后,对其设计和实现的经验做的总结,十分值得一读。 Tokio作为 Rust 语言的异步运行时,我们一直在为它的[详细]
-
BIO和NIO了解多少呢?一起从实践角度重新理解下吧
所属栏目:[优化] 日期:2019-10-28 热度:108
01 前言 这段时间自己在看一些Java中BIO和NIO之类的东西,看了很多博客,发现各种关于NIO的概念说的天花乱坠头头是道,可以说是非常的完整,但是整个看下来之后,自己对NIO还是一知半解的状态,所以这篇文章不会提到很多的概念,而是站在一个实践的角度,[详细]