- 博客(87)
- 收藏
- 关注
原创 【*一篇足以*Java并发编程实践】《Java并发编程实践》学习Note - Part3
目录:1.避免活跃度危险1.1 死锁1.2 避免和诊断死锁1.3.其他活跃度危险2.性能和可伸缩性2.1 内存同步2.2 阻塞2.3 减少锁的竞争3.Lock、ReentrantLock和Synchronized3.1 可轮询和可定时的锁请求3.1 可中断的锁获取操作4.原子变量与非阻塞同步机制5. JMM--Java存储模型1.避免活跃度危...
2018-12-28 19:17:24 243
原创 【《第一本Docker书》】你会玩儿Docker吗?(菜鸟晋升必经之路)
现在Docker部署已经是比较成熟的方式,如果你不了解Docker基本知识就会(kuai)格(bei)格(tao)不(tai)入(le)。所以跟你分享阅读《第一本Docker书》后的必知Knowledge。1. Docker简介Why Docker? Docker组件 Docker安装2. Docker 入门 D...
2018-12-28 15:20:59 539
原创 你应该知道的《代码整洁之道》
伴着2018年收官的鹅毛大雪,依旧在路上欢(Ku)快(B)驰骋,IT菜鸟分享今天的收获--《代码整洁之道》1有意义的命名:名副其实(见名知意),add/insert/append 避免使用与本意相悖的词、专有名词(hp,aix,sco等)。例子:别用accountList来指称一组账号,除非它真是List类型。可用accountGroup或bunchOfAccounts,甚至直接用ac...
2018-12-27 16:04:03 303
原创 【*一篇足以*Java并发编程实践】《Java并发编程实践》学习Note - Part2
【构建并发应用程序】========================...
2018-11-17 22:42:11 252
原创 【重构-改善代码的设计】《重构-改善代码的设计》学习笔记-Part2(菜鸟晋升之路)
8 简化函数调用8.1 Rename Method(函数改名)8.2 Add Parameter(添加参数)8.3 Remove Parameter(移除参数)8.4 Separate Query from Modifier(将查询函数和修改函数分离)8.5 Parameterize Method(令函数携带参数)8.6 Replace Paramete...
2018-11-02 16:19:37 997 1
原创 【重构-改善代码的设计】《重构-改善代码的设计》学习笔记-Part1(菜鸟晋升之路)
1.影片租赁 2.重构原则 3.代码的坏味道3.1 Duplicated Code (重复代码)3.2 Long Method (过长函数)3.3 Large Class (过大的类)3.4 Long Parameter List(过长参数列表)3.5 Divergent Change(发散式变化)3....
2018-10-17 22:25:39 807
原创 【HeadFirst 设计模式】你看过《HeadFirst Design Pattern》了吗?(菜鸟晋升必经之路)
废话不多说,干货分享。1. 观察者模式2. 装饰者模式3. 工厂模式4.单列模式(Singleton Pattern)5.命令模式6.适配器模式和外观模式7. 模板模式【好莱坞原则】别调用我们,我们会调用你(我们:高层组件,你:底层组件)8. 迭代器模式和组合模式9.状态模式10.代理模式1. 观察者模式Demo:2....
2018-09-20 21:47:09 652
原创 【*一篇足以*Java并发编程实践】《Java并发编程实践》学习Note - Part1
【基础普及】操作系统的发展使得多个程序能够同时运行,程序在各自的进程(processes)中运行:相互分离,各自独立执行,由操作系统来分配资源,比如内存、文件句柄、安全证书。如果需要的话,进程会通过一些原始的机制相互通信:Socket、信号处理(signal handlers)、共享内存(shared memory)、信号量和文件。 自增操作(++i...
2018-09-12 09:02:43 308
原创 【《深入理解Java虚拟机》】JVM的秘密—Part2
【《深入理解Java虚拟机》Part2】 3.5【虚拟机字节码执行引擎】【3.6 方法调用】【分派】【3.6 基于栈的字节码解释执行引擎】【3.7】 类加载及执行子系统的案例与实战【4】高效并发【4.1】Java内存模型与线程【4.2 线程安全与锁优化】双亲委派模型要求除了顶层的启动类加载器外,其它类加载器都应当有自己的...
2018-08-27 18:19:38 504
原创 【《深入理解Java虚拟机》】JVM的秘密—Part1
0.【Java内存区域】Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。对象访问1.【GC(垃圾回收)】【堆区GC】【方法区GC】【垃圾收集算法】【垃圾收集器】【内存分配与回收策略】2.【JVM性能监控与故障处理工具】3.【JVM加载执行系列】3.1 类文件结构3.2 【虚拟机类加载机制】3.3【类加载过程】...
2018-08-24 09:17:37 893
原创 初识SpringCloud微服务
最近项目的数据库采用了面向关系型数据库MySQL,整个项目采用了完整的Spring Cloud架构(Spring Cloud 基于 Spring Boot,为微服务体系开发中的架构问题,提供了一整套的解决方案——服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理等。Spring Boot 是 Spring 的一套快速配置脚手架,使用默认大于配置的理念,用于快速开发单个微...
2020-02-24 21:06:20 454
原创 【号外】你关注我了吗?
亲爱的“粉丝”及即将成为粉丝的网友,我的微信公众号会持续更新。由于博客排版比较耗时(相对微信公众号而言,仅个人观点),So 更新会比较slow。
2019-08-08 08:43:55 330
原创 【TCP/IP详解】TCP详解
TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。在一个TCP连接中,仅有两 方进行彼此通信。主要通过一下方式提供可靠性: 1. 应用数据被分割成TCP认为最为适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。由TCP传递给IP的信息单位称为报文段/段(segm...
2019-07-24 18:37:44 1421
原创 【Microservice & Istio】Microservice & Istio
微服务是一种应用程序架构风格,它将应用程序划分为组件,其中每个组件都是一个完整但微型的应用程序,专注于根据单一责任原则生成单个业务任务。从GUI到数据库或从服务API到数据库,以便不同的GUI和客户端应用程序可以重用相同的业务任务功能。每个微服务都有明确定义的接口和依赖关系(例如,对于其他微服务和外部资源),以便微服务可以相当独立地运行。 微服务的宗旨:使得开发更...
2019-06-21 17:00:57 1487
原创 【Microservice】Microservice Common Sense
微服务是一种应用程序架构风格,它将应用程序划分为组件,其中每个组件都是一个完整但微型的应用程序,专注于根据单一责任原则生成单个业务任务。从GUI到数据库或从服务API到数据库,以便不同的GUI和客户端应用程序可以重用相同的业务任务功能。每个微服务都有明确定义的接口和依赖关系(例如,对于其他微服务和外部资源),以便微服务可以相当独立地运行。 微服务的宗旨:使得开发更高效。通过最大...
2019-06-21 16:50:50 304
原创 【Devops】K8s 基础入门
Container VS VM【VM】在使用容器之前,大多数基础架构不是在裸机上运行,而是在管理多个虚拟化操作系统(OS)的虚拟机管理程序上运行。这种安排允许应用程序在比OS提供的更高级别上彼此隔离。这些虚拟化操作系统可识别出自己独有的硬件。但是,这也意味着每个虚拟操作系统都在复制整个操作系统,这需要更多的磁盘空间。【Container】 容器提供类似于虚拟机(VM)的...
2019-06-21 16:47:43 1297
原创 【Twelve-factor methodology】项目开发12因素方法论
现如今软件会作为一种服务来交付,被称为网络应用服务或软件即服务(Saas)。12-Factor为构建SaaS应用提供了方法论:·使用标准化流程自动配置,从而使新开发者花费最少的学习成本加入此项目。·和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性。·适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。·...
2019-06-21 16:45:02 1036
原创 【Spark性能优化指南】基础篇 + 高级篇 -----美团技术团队出品
最近项目开发Spark作业涉及性能优化,找到了两篇不错的软文。推荐一波Spark性能优化指南——基础篇https://tech.meituan.com/2016/04/29/spark-tuning-basic.htmlSpark性能优化指南——高级篇https://tech.meituan.com/2016/05/12/spark-tuning-pro.html...
2019-05-09 14:55:03 1290 1
原创 【Keras之父】总结篇
深度学习(deep learning)是机器学习的众多分支之一。它的模型是一长串的几何函数,各个都作用在数据上。这些运算组组成了模块叫做层。DL模型通常都是层的堆叠,也可以说是层组成的图。这些层由权重(weight)来参数化,权重是训练过程中需要学习的参数。模型的知识(knowledge)保存在它的权重中,学习的过程就是为这些权重找到正确的值。在深度学习中,...
2019-04-28 09:54:00 572
原创 【English】外企常用口语
The proposal is due two weeks from Monday.We have to submit the final report by Thursday.We need to report every other week. 或者 We need to report every two weeks.We need to do research every s...
2019-04-25 17:19:10 2365 3
原创 【keras之父】GAN & VAE
RNN已经被成功应用于音乐生成,对话生成,图像生成,语音合成和分子设计,甚至还可以用于制作电影剧本。如何生成序列数据?使用前面的标记作为输入训练一个网络(通常是RNN或CNN)来预测序列中接下来的一个或多个标记。这个过程涉及名词:标记、潜在空间、采样、条件数据、soft Max模型等~~~~~~~~~~~采样策略的重要性~~~~~~~~~~~~~贪婪采样(g...
2019-04-25 16:50:04 724
原创 【Keras之父】高级DL最佳实践
Sequential模型假设网络只有一个输入和一个输出,而且网络是层的线性堆叠。既有元数据,文本描述还有图像,如何才能同时使用这三种数据呢???一种朴素的做法:训练三个独立的模型,然后对三者的预测做加权平均。但是此方法会存在模型提取的信息可能存在冗余。更好的方法是使用一个可以同时查看所有可用的输入模态的模型,从而联合学习一个更加精确的数据模型。其多输入模型如下:同样,有些任务需...
2019-04-24 18:37:28 510
原创 【Keras之父】DL用于Text
用于处理序列的2种基本的深度学习算法分别是循环神经网络RNN (recurrent neural network) 和一维卷积神经网络(1D convnet)。这些算法的应用包括:文档分类和时间序列分类,比如识别文章的主题或书的作者; 时间序列对比,比如估测两个文档或两支股票行情的相关程度; 序列到序列的学习,比如将英语翻译成法语; 情感分析,比如将推文或电影评论的情感划...
2019-04-19 16:35:05 429
原创 【Hadoop VS Spark 】Hadoop VS Spark
Hadoop和Spark都是Apache Software Foundation的开源项目,两者都是大数据分析的旗舰产品。Hadoop已经领导大数据市场超过5年。根据我们最近的市场调查,Hadoop的安装基数达到了50,000多个客户,而Spark仅拥有10,000多个安装。然而,Spark的受欢迎程度在2013年飙升,以便在一年内克服Hadoop。新安装增长率(2016/201...
2019-04-18 15:49:00 356
转载 【消息队列MQ】消息队列总汇
- RabbitMQ ActiveMQ RocketMQ Kafka 所属公司 Mozilla Public License Apache 阿里 Apache 成熟度 ...
2019-04-17 11:21:41 528
原创 【持续集成】CI工具汇总
【维基百科】持续集成 / CI--Continuous integration是一种软件工程流程,是将所有软件工程师对于软件的工作副本持续集成到共享主线的一种举措。该名称最早由葛来迪·布区在他的布区方法中提出,不过他并不支持在一天中进行数次集成。之后该举措成为极限编程的一部分时,其中建议每天应集成超过一次,甚至达到数十次。在测试驱动开发的作法中,通常还会搭配自动单元测试。 【...
2019-04-17 11:06:27 3998
原创 【IT行业常见缩写】IT行业常见缩写(程序员专用)
====================软件开发流程中的英文缩写====================MRD market requirement document (市场需求文档)PRD product requirement document (产品需求文档)SOW 工作任务说明书PHB Process Handbook (项目过程手册)EST Estimation Sh...
2019-04-17 10:32:56 7845
原创 【Keras之父】DL用于CV
一. 密集连接层和卷积层的根本区别是Dense层从输入特征空间中学到的是全局模式(涉及所有像素的模式) 卷积层学到的局部模式,对图像来说学到的就是在输入图像的二维小窗口中发现的模式。二. 卷积神经网络具有以下2个有趣的性质 1.具有平移不变性(因为视觉世界从根本上具有平移不变性)。CNN在图像某个位置学到的模式,可以在图像任何其他位置识别这个模式,这使得CNN在处理图像时可...
2019-04-16 08:45:47 470
原创 【Keras之父】机器学习基础
一. 机器学习的四个分支1. 监督学习 (supervised learning) 给定一组样本(通常人工标注),它可以学会将输入数据映射到已知目标(也叫标注 annotation)。三种类型的机器学习问题:二分类问题、多分类问题和标量回归问题都是监督学习。比如:光学字符识别、语音识别、图像分类和语言翻译。 虽然监督学习主要包括分类和回归,但有更多的奇特变体...
2019-04-14 15:48:48 955 1
原创 Dockerfile文件中的13个CMD
【ADD】 从构建环境的上下文或远程 URL 复制文件至镜像。如果是从一个本地路径添加一个归 档文件,那么它会被自动解压。由于 ADD 指令涵盖的功能相当广泛,一般最好还是使用 相对简单的 COPY 指令来复制构建环境上下文的文件和目录,并用 RUN 指令配合 curl 或 wget 来下载远程资源(这样还可以在同一个指令中处理和删除下载文件)。【CMD】...
2019-04-13 15:32:27 3292
原创 ThinkingInJAVA之《字符串 & RTTI--Runtime Type Information & 反射 & 空对象》
String字符串: 字符串是不可变的(immutable), String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象。每当把String对象作为方法的参数时,都会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置上,从未动过。对于一个方法而言,参数是为该方法提供信息的,而不是想让该方法改变自己的?“+”操作符重载会带来一定...
2019-04-09 08:27:28 267
原创 【CPU & GPU & TPU】机器学习扫盲篇
CPUCPU( Central Processing Unit, 中央处理器)就是机器的“大脑”,也是布局谋略、发号施令、控制行动的“总司令官”。CPU的结构主要包括运算器(ALU, Arithmetic and Logic Unit)、控制单元(CU, Control Unit)、寄存器(Register)、高速缓存器(Cache)和它们之间通讯的数据、控制及状态的总线。简单来说就是...
2019-04-07 15:18:40 5594 2
原创 【Python Flask】一个 demo引发的Bug
8种过滤器:safe、capitalize、lower、upper、title、trim、striptags1、创建虚拟环...
2019-04-07 15:13:18 381
原创 【外企必备英文缩写】这些英文缩写,你了解吗?
======================================Part1===================================================OIC- Oh I see.BRB - Be right backBFN - Bye for nowLOL - Laughing out loudASAP - As soon as possib...
2019-04-07 15:04:37 4987
原创 Linux常用command
====================Linux Command=======================================系统# uname -a # 查看内核/操作系统/CPU信息# lsb_release -a # 查看操作系统版本 (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在d...
2019-04-03 10:55:25 312
原创 跟你闲谝一哈Nodejs
渣硕刚入职不到半年,跻身于大数据、AI的洪流,而我是个干Coding的Java工程师。时常思考自己将来的路在哪里,现在很迷茫,经常会陷入对35周岁的焦虑。网上浏览了关于社招的要求,第一条要求95%以上的是对35周岁的“偏见”。从而思考自己将来35周岁的样子:从容淡定 or 惶恐不安。一系列的鸡汤喝了之后,自己总结出从容面对35周岁的坎儿就是一个字儿:GAN!-----故不积跬步,无以...
2018-12-22 17:56:17 297
原创 【Docker技术入门与实践(第2版)】Docker入门_学习笔记
第一章1 Docker入门须知1.1 Docker基本知识 Docker是基于Go语言实现的开源容器项目,诞生于2013年年初,最初发 起者是dotCloud公司。Docker自开源后受到广泛的关注和讨论,目前已有多个相关项目(包括Docker三剑客、Kubernetes等),逐渐形成了围绕Docker容器的生态体系。现在主流的Linux操作系统都已经支持Docker。例如...
2018-11-23 22:34:00 2376
转载 【Java架构师】架构师晋升路线
成为java架构师所需要具备那些技能?首先你要是一个高级java攻狮城,熟练使用各种框架,并知道它们实现的原理。 JVM虚拟机原理、调优,懂得jvm能让你写出性能更好的代码 池技术,什么对象池,连接池,线程池 Java多线程同步异步 Java各种集合对象的实现原理 熟练使用各种数据结构和算法,数组、哈希、链表、排序树 熟练使用linux操...
2018-11-04 09:08:05 2029
转载 【mongoDB】Mac下MongoDB安装及使用
第一步:下载文件:curl -O http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.3.tgz 第二步:解压缩文件:tar -zxvf mongodb-osx-x86_64-2.6.3.tgz第三步:在 mongodb-osx-x86_64-2.6.3 文件夹下创建文件夹 dat第四步:在data文件夹下创建...
2018-08-23 17:45:43 387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人