Java启动命令是所有java应用程序的入口,通过它来启动Java运行时环境,并加载相关的class。不过由于IDE的盛行,我们Java程序员中的大多数并不是非常的了解Java启动命令。本文希望做一个Java启动命令的汇总,和各位同道分享,也便于日后作为自己的参考。
Java启动命令有两个,java以及javaw,它们的唯一区别是javaw不会启动一个控制台窗口(启动失败的时候会弹出附有错误信息的窗口),而java会。不希望有控制台的时候用javaw,其它时候用java。它们的语法结构都一样,只需要记住其中一个即可。调用程序有两种方式,指定Class以及指定jar文件,具体的语法如下:
一个对象的一生:我是一个普通的Java对象,我出生在Eden区,在Eden区我还看到和我长的很像的小兄弟,我们在Eden区中玩了挺长时间。有一天Eden区中的人实在是太多了,我就被迫去了Survivor区的“From”区,自从去了Survivor区,我就开始漂了,有时候在Survivor的“From”区,有时候在Survivor的“To”区,居无定所。直到我18岁的时候,爸爸说我成人了,该去社会上闯闯了。于是我就去了年老代那边,年老代里,人很多,并且年龄都挺大的,我在这里也认识了很多人。在年老代里,我生活了20年(每次GC加一岁),然后被回收。
JVM堆内存分为2块:Permanent Space 和 Heap Space。
1、无限循环的while会导致CPU使用率飙升吗?
2、经常使用Young GC会导致CPU占用率飙升吗?
3、具有大量线程的应用程序的CPU使用率是否较高?
4、CPU使用率高的应用程序的线程数是多少?
5、处于BLOCKED状态的线程会导致CPU使用率飙升吗?
6、分时操作系统中的CPU是消耗 us还是 sy?
CPU%= 1 - idleTime / sysTime * 100
idleTime:CPU空闲的时间
sysTime:CPU处于用户模式和内核模式的时间总和
阅读全文 »浅谈常见的七种加密算法及实现
数字签名、信息加密 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法 来达到业务目标。这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。
数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种 互补 的运算,一个用于 签名,另一个用于 验证。分别由 发送者 持有能够 代表自己身份 的 私钥 (私钥不可泄露),由 接受者 持有与私钥对应的 公钥 ,能够在 接受 到来自发送者信息时用于 验证 其身份。
阿里开源的一个数据库中间件,专门为大数据量的项目做分库分表用的。有如下特点:
话不多说,一张mycat架构图就能让你知道mycat的角色以及作用。
mycat1.6版本架构如下:
由图可知,mycat位于数据库和应用层(APP)之间,它的角色就是帮我们管理数据库集群,而提供应用统一访问数据库接口。
阅读全文 »
只不过这里先提示一下。在线上应急过程中要记住,只有一个总体目标:尽快恢复服务,消除影响。 不管处于应急的哪个阶段,我们首先必须想到的是恢复问题,恢复问题不一定能够定位问题,也不一定有完美的解决方案,也许是通过经验判断,也许是预设开关等,但都可能让我们达到快速恢复的目的,然后保留部分现场,再去定位问题、解决问题和复盘。
在大多数情况下,我们都是先优先恢复服务,保留下当时的异常信息(内存dump、线程dump、gc log等等,在紧急情况下甚至可以不用保留,等到事后去复现),等到服务正常,再去复盘问题。
好,现在让我们进入正题吧。
场景预设:
监控系统突然告警,提示服务器负载异常。
预先说明:
CPU飙升只是一种现象,其中具体的问题可能有很多种,这里只是借这个现象切入。
注:CPU使用率是衡量系统繁忙程度的重要指标。但是CPU使用率的安全阈值是相对的,取决于你的系统的IO密集型还是计算密集型。一般计算密集型应用CPU使用率偏高load偏低,IO密集型相反。
下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复。
简单分析下可能出问题的地方,分为5个方向:
阅读全文 »
发表于 2018-12-03 | 分类于 MySQL | 0
char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是: char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).
进行分布式服务开发, 各服务均划分了各自的消息协议项目/应用服务项目, 这些项目骨架相同, 仅仅是项目名和包名有个别字的区别; 为此, 笔者经过调研后选择使用giter8来创建项目骨架模板, 后期项目均使用该模板生成项目.
详见参考文章.
创建类型为group的仓库(命名为xxx-central), 同时把需要的远程仓库纳入其中, 目前纳入的仓库有maven-central, maven-releases, maven-snapshots
在pom.xml文件的project节点下加入如下内容,
|
|
在build.sbt文件末尾增加如下内容,
|
|
发布构件需要进行认证, 在maven的setting.xml文件中servers节点下增加如下配置
|
|
在pom.xml文件的project节点下加入如下内容,
|
|
maven clean deploy
在build.sbt中增加如下配置,
|
|
在build.sbt中增加如下配置,
|
|
新建sonatype.sbt文件, 并将其放置于sbt目录下, 内容如下
|
|
详见: 发布Scala构件至Maven中央库
以上配置针对nexus 3.x.x, 2.x.x和3.x.x差异如下,
留言与评论(共有 0 条评论) “” |