15 huaishu

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2k+

软件设计——蚂蚁采购配送系统

流程设计用例设计

2020-07-29 15:26:17

Windows 一键安装部署Tomcat+MySQL

最近做了一个进销存系统,尝试单机部署应用,为方便部署需要一键安装部署。实现目标:Tomcat服务自动启动 Tomcat依赖JDK必须配置完整 MySQL服务自动启动 Web应用可以访问Tomcat配置service.bat配置文件完成配置JAVA_HOME路径、自动启动服务set "JAVA_HOME=%~dp0%jdk8":installedecho The service '%SERVICE_NAME%' has been installed.sc config To

2020-08-01 11:51:18

CAS以及在Java并发机制中的使用

Java 并发编程中有介绍CAS实现锁的机制,后面再看了一些编译原理方法的书,对锁的实现有一些基本了解。减少上下午切换的方法:无锁并发编程:按Hash算法取模分段,不同的线程处理不同段数据。 CAS算法:CAS算法更新数据,无需加锁。 使用最少线程:尽量用少的线程,不要造成等待。 协程:在单线程里实现多任务的调度。Java并发机制的底层实现Volatile:将当前处理器缓存行数据回写到系统内存,并让其他缓存失效。 synchronized:同步代码块,锁定对象头。monitorente

2020-06-26 14:00:53

关于灰度发布的感想

最近在研究springcloud,突然想到微服务接口的版本控制,最后到运维实施部署阶段就是灰度发布的管理。灰度发布又是一个很大的研究方向。

2020-06-22 12:18:39

SpringBoot SSL 双向认证配置

keytool -genkeypair -alias serverkey -keyalg RSA -dname "CN=Server,OU=Ziguo,O=Ziguo,L=Ziguo,S=NY,C=CN" -keypass bigkeystorepass -keystore server.jks -storepass bigkeystorepass keytool -genkeypair -a...

2020-06-08 21:57:18

流利说反编译抓包笔记

课程Level结构{ "levels": [ { "id": "5695c8242c11982262000000", "name": "Level 1", "totalStarCount": 320, "unlockRequiredStarCount": 288, "seq": 1, "bgUrl": "http://cdn.llsapp.com/s...

2020-03-30 13:55:27

2020复工复产后思考

全国已经开始全面复工复产,小微企业在这场疫情中的危机时刻围绕在我们这些个体身边。此时此刻是复盘自己在这场疫情中所做的事情。2019年过年前,和朋友出去聚餐,当时新闻有报道说武汉有疫情发生,聚餐过程中还谈论此事,当时没太在意,聚餐完后经过一家药店,随口问“有没有口罩”,店内的营业员回答道“有,刚补货,正在卸货”。当时犹豫是不是要买点,想到福岛核电站大家囤积食盐的事情,同时想到回家路程太远,家楼下有...

2020-03-25 11:43:55

构建Spring Cloud 项目Docker镜像

随着云的普及,Devops开发方式越来越流行,开发运维一体化让开发感到便捷很多。从单人开发到多人协同开发,从开发交付测试人到交付用户,这中间思路的转变也是随着技术不断革新而转变。最初在公司尝试开发流程,没有技术的支持,全靠人治效果可想而知;后来尝试持续交付,开发流程配合工具让开发尝到甜头,效率也提升不少,但是在一个toB的软件公司,运维的压力其实比较大(主要是同一个软件产品,最终部署时软件功能...

2020-01-11 01:28:11

linux下SS 网络命令详解

ss命令用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信,当服务...

2020-01-02 14:35:23

JVM垃圾收集器ZGC

Java11已经推出最新垃圾收集器,ZGC主要为了减少JVM停顿时间。阿里双十一已经在项目中使用ZGC,并且取得不错战绩。支持大内存使用,所以只支持64位系统。ZGC全称是Z Garbage Collector,是一款可伸缩(scalable)的低延迟(low latency garbage)、并发(concurrent)垃圾回收器,旨在实现以下几个目标:停顿时间不超过10ms 停顿时间...

2019-12-19 16:47:52

互联网没有免费的午餐

16年开始创业开发APP,中间必须使用互联网上成熟的解决方案或中间件服务。支付服务如支付宝或微信,存储服务用七牛,消息推送服务如个推或极光,即时消息服务如融云或环信。主要说说使用融云的经历。即使通讯当初选型主要考虑费用、集成是否方便等因素,最后选择融云,主要是免费,问题反馈及时。但是到2018.11月,突然收费,收费的过程也是惊心动魄。第一次接到电话对方说融云公司的,我们的服务开始收费。说...

2019-12-18 22:23:49

读编译原理感想

最近在看Java虚拟机方面的资料,了解Class文件格式,同时还了解到数据运行时的一些流程。但是读到CAS、编译优化等技术时,有点迷茫,继续找操作系统原理、编译原理等书籍看看,了解到互斥、中继、汇编、机器代码、硬件指令集等。一个应用程序从编写到编译生成中间代码再到硬件上通过硬件指令集运行,每一个步骤都可以实现优化。这中间编译器起着承上启下的作用,可以操作空间非常大,它既可以静态生成中间代码,还是在...

2019-12-13 11:47:10

JVM优化策略

工欲善其事必先利其器,要了解JVM运行情况,必须用工具获取数据才能发现和诊断问题。 让JVM这个黑盒变成我们可以认识的白盒。名称 作用 基本命令 jps 显示指定系统内所有的HotSpot虚拟机进程 jps -l jstat 用于收集Hotspot虚拟机各方面的运行数据 jstat[option vmid[interval[s|ms][cou...

2019-12-05 21:10:40

JVM加载机制与执行流程

Java文件编译成Class以后,需要放到内存中才能运行,这个过程相当于数据处理的过程ETL(抽取、转换、加载)。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶...

2019-12-03 23:18:59

Java Class 文件结构

Java语言只是我们了解编程的基础语法,最终编译成的Class文件才是JVM解读的二进制文件,了解Class文件结构,有助于理解编程原理。通过javap我们将了解Class内部结构。Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据, 没有空隙存在。...

2019-11-29 14:59:40

Java锁及实现方式

锁的概念在数据库出现比较多,为了实现数据库的不同隔离级别,数据库会定义不同的锁类型。Java为了实现同步及线程安全,也会定义不同的锁。所谓的同步操作即原子操作(atomic operation)意为“不可被中断的一个或一系列操作”,类似数据库中的事务。线程安全实现方式互斥同步(锁机制)互斥是实现同步的一种手段,临界区(Critical Section)、互斥量(Mutex)和信号量(S...

2019-11-26 14:03:50

Java内存模型的基础以及内存语义

Java中多个线程访问同一变量,对应到硬件上就是内存和CPU缓存,JVM是如何处理数据竞争的,必须了解Java的内存模型以及编译相关的JVM指令,同时还必须了解线程的实现方式。Java语言通过编译器编译成JVM认识的class文件,JVM再把Class中的指令集转换成操作系统可识别二进制编码,操作系统再驱动硬件包括CPU、内存、磁盘等硬件设备。在这个过程中,数据是多分的,如何保证数据一致性很重...

2019-11-22 15:51:20

微服务模式总结

现在微服务大行其道,其中必须提到网络负载均衡,曾经各种负载均衡软件和硬件如:LVS、Nginx、F5、HAProxy。曾经在项目中为减少开发量,通过httpclient和proxy实现远程访问服务,既没有服务发现也没有负载均衡,只是单纯的想减少开发工作,这个原始的想法就是后面微服务的原型。现在SpringCloud和Dubbo异常火热,火热劲还未褪去,ServiceMesh已经登上舞台。项目中...

2019-11-20 16:07:59

Java并发机制----同步synchronized以及原子操作

Java并发编程过程中必须接触synchronized和volatile,以及后来的读写锁ReadWriteLock、重入锁ReentrantLock等,JVM在编译synchronized时会生成2个指令集monitorenter和monitorexit,volatile则实现1)将当前处理器缓存行的数据写回到系统内存。2)这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效。...

2019-11-19 13:37:36

双11续费阿里云之闹心事

每年双十一都是程序员节日,阿里承载着多少程序员的梦想,如此复杂的系统包括海量数据、上亿订单、实时计算,各种公众号。这个时候难免会凑热闹,刚好公司服务器快到期,有优惠券可以使用,满3500减350。一顿操作登录阿里云控制台,找到ECS点击续费,一年4000多,再检查系统配置,这台服务器带宽4M,最近业务压力减少遂调整带宽至1M,调整完后续费,费用计算出现6000多,见了鬼,立马打客服电话,前台客...

2019-11-12 10:03:10

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。