linux 服务安装 Anaconda2

Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。

Anaconda具有如下特点:1. 开源;2. 安装过程简单;3. 高性能使用Python和R语言;4. 免费的社区支持

其特点的实现主要基于Anaconda拥有的:1. 拥有完整的conda依赖包;2.良好的环境管理器;3.1,000+开源库(模块)

如果日常工作或学习并不必要使用1,000多个库,那么可以考虑安装Miniconda(图形界面下载及命令行安装请戳),这里不过多介绍Miniconda的安装及使用。

继续阅读

AOP 的利器:ASM 3.0 介绍

ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。

与 BCEL 和 SERL 不同,ASM 提供了更为现代的编程模型。对于 ASM 来说,Java class 被描述为一棵树;使用 “Visitor” 模式遍历整个二进制结构;事件驱动的处理方式使得用户只需要关注于对其编程有意义的部分,而不必了解 Java 类文件格式的所有细节:ASM 框架提供了默认的 “response taker” 处理这一切。

继续阅读

PhpStorm 2019.2.1激活码

PhpStorm 2019.2.1激活码,亲测可用,持续更新。 建议大家购买正版,此激活码仅用于学习。如若有问题,责任自负。

PhpStorm 2019.2.1
Build #PS-192.6262.66, built on August 22, 2019
Licensed to Jig F
Subscription is active until June 13, 2020
Runtime version: 11.0.3+12-b304.39 x86_ 64
VM: OpenJDK 64- Bit Server VM by JetBrains s.r.o

继续阅读

浅谈分布式锁

随着架构系统的演进,由纯真的单机架构到容器化编排的分布式架构,可以说是一个大型互联网企业发展的必然走向。在网站初创时,应用数量和用户较少,可以把Tomcat和Mysql部署在同一台机器上。随着用户数量增多,访问量增大,并发升高,Tomcat和MySQL竞争资源,此时,单机已经扛不住了,需要把Tomcat和MySQL分离在不同的机器上,用于提升单台机器的处理能力。业务从来没有减少,产品越做越大。应用也越来越复杂,原来的大应用,拆分成多个小应用,加入各级缓存,做了反向代理负责均衡,最后坠入分库分表的深渊。

继续阅读

Mac OSX之Catalina 10.15中编译OpenJDK8

如果想深入学习JDK 内部的实现机制,最便捷的路径是自己手动编译一套JDK,通过阅读和跟踪debug JDK源码去深入了解Java技术体系的原理,结合各类书籍、文章和博客,对比理解,更容易让你了解JDK是怎么运作的,底层都做了什么。

本文基于目前最新的Mac操作系统Catalina 10.15.1 编译OpenJDK8,编译过程中遇到很多新问题,做个总结,为后来者提供方便。

继续阅读