GreenTeaJUG 活动 第25期 杭州

时间:2017-01-21 14:00-17:00
地点:杭州华星路互联网大厦17楼 “冶金炉”会议室,挖财(创业大厦对面)
组织:@JianhaoMo ,@hongjiang_wang

时间:2017-01-21 14:00-17:00
主题:JDK 9: Big Changes to Make Java Smaller
JDK 9 is scheduled for general availability in July 2017.  The biggest new feature for this release of Java is Project Jigsaw that brings modularity to both the core JDK libraries as well as, potentially, application code.

Modularizing the JDK core libraries is not just a simple matter of breaking up the rt.jar file into a number of sections.  The Jigsaw module system allows for encapsulation of packages that developers do not want publicly exposed. Encapsulation of JDK internal APIs will potentially break backwards compatibility for application code that uses these APIs.  This session will explain the practicalities of running applications on JDK 9.

We’ll also look at how you can migrate existing applications to the new module system in a gradual and controlled way to minimize impact on users.

讲师:Simon Ritter, Azul System 布道师,2014年曾作为Oracle布道师在中国巡回演讲,宣讲Java8。

Simon has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K. Originally working in the area of UNIX development for AT&T UNIX System Labs and then Novell, Simon moved to Sun in 1996. At this time he started working with Java technology and has spent time working both in Java development and consultancy. Having moved to Oracle as part of the Sun acquisition he now focuses on the core Java platform, Java for client applications and embedded Java. He also continues to develop demonstrations that push the boundaries of Java for applications like gestural interfaces, embedded robot controllers and in-car systems.Follow him on Twitter, @speakjava.

主题:GreenTeaJUG活动 第25期 杭州



Java平台 标准版 故障排查 向导 


2 Diagnostic Tools

3 Troubleshoot Memory Leaks

Part II Debug JVM Issues

5 Troubleshoot System Crashes

6 Troubleshoot Process Hangs and Loops

7 Handle Signals and Exceptions

17 Submit a Bug Report

Part VI Appendix

A Fatal Error Log

C Environment Variables and System Properties

D Command-Line Options

E Summary of Tools in This Release

GreenTeaJUG 活动 第24期 杭州

时间:2016-09-11 14:00-18:00
地点:西湖区古墩路99号 浙商财富中心1号楼蘑菇街 5楼牛津大学会议厅(前台有引导)
组织:@JianhaoMo  、蘑菇街七公

时间:2016-09-11 14:00-15:00
讲师:刘昱接 (吴邪@美丽联合集团)

时间:2016-09-11 15:00-18:00
主题:Cloud Native Java
讲师:Josh Long(@Josh Long

Josh Long 是 Pivotal 公司的 Spring 核心开发者和布道者,他是 Java Champion,5 本书的作者(包括即将出版的 O’Reilly 图书 “Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry”),多个知名开源项目(Spring Boot, Spring Integration, Spring Cloud, Activiti 和 Vaadin)的 commiter。

两小时全程 live coding, Josh 带你领略如何基于 Spring Boot & Spring Cloud 开发云端微服务!
组织将大型的目标拆解成小型的、可独立部署的、关注功能点的目标,或者说微服务。为了尽可能缩短各个团队之间沟通的时间,组织慢慢压缩转变,并尽可能地自动化,开发和运维开始做 “devops“ 了,基于云的服务和平台(如 Cloud Foundry)自动化了大量运维工作,改变了管理方式。
然而,高速是伴随危险的,微服务带来了组织必须要面对的架构复杂度。在本次分享中,我们会看一下那些高效的组织如 Ticketmaster 和 Netflix 如何使用 Spring Boot 和 Spring Cloud 来解决这些复杂度。


主题:GreenTeaJUG活动 第24期 杭州


莫简豪 20:26

many people curious about g1. Most apps still use cms. How does g1 perform in real production?

@Martijn Verburg @Monica Beckwith  hope you can give us some infomation

Monica Beckwith 21:01

Sure. If you have any specific use cases I can help. All companies that I worked with, that are able to get to latest JDK 8 release are happy moving to G1… with minimal tuning.

Martijn Verburg 21:34

Kirk and I are presenting our tuning G1 talk at JavaOne. I will post some of our current findings here over the weekend. We have found some usage patterns and edge cases where G1 has some challenges. It also is a good idea to track the open issues on the OpenJDK JIRA labelled with G1. You will see that there are many small fixes and improvements to go.

We would only recommend it for Java 8u91 as there are still JVM crash bugs prior to that

Humongous objects still cause big problems and there are hard limits to reference processing and object copy times depending on the shape of your object graph

ayanamist 22:08

Will g1gc has the ability to do parallel fullgc? Google has a patch for cms to enable parallel fullgc which brings quite a lot enhancement.

e.g. HBase, using BlockCache & MemStore, consumes a lot of heap space, and eventually has a fullgc after not a long time, which affects service availability when heap is large than 100GB. So concurrent fullgc is valuable in this case.

Martijn Verburg 22:18

IIRC the G1 full GC is currently single threaded but they are working on making it parallel. It is not concurrent by design (it has to stop all threads at a safe point). Monica will correct me if I’m wrong 🙂

I’m not yet convinced that G1 works all that well for heaps > 75GB. In *theory* a fully production read Shenandoah will perform better and of course the C4 collector still wins hands down.

That said there are still ~50 G1 bugs and features that they are working on, so I expect it it improve

Monica Beckwith 22:20

I have worked with Hbase and blockcache and memstore with G1 with about 64Gs no full GCs

Martijn Verburg 22:20

Yeah we typically see 64GB heaps for that sort of work

But unless you’re on the latest 8 update we’ve seen instabilities over several weeks of hot running

And of course with G1 the big question is what pause time goals you want 🙂. It’s a great low pause collector but not a low latency low pause collector (if you’re in the high frequency trading business)

Monica’s work on G1 is putting many of us out of a job 😉

One last note before I jump on my next plane. You can still get better extreme low latency out of a well tuned CMS than you can G1. However it takes a lot of work and tuning of many parameters.

This is why RedHat, Google, Twitter, ourselves and a few others will try to maintain CMS for Java 10 – but I think G1 will take over for a majority of applications who want good low pause behaviour with minimal tuning

Monica Beckwith 22:35

Agreed on low latency CMS surpasses G1 because you don’t have any old gen “collection” and you can easily avoid/push off full GCs…

(With CMS)

BTW, yes all full GCs in HotSpot are stop the world and so far only Parallel GC employs multiple threads for full collections

ayanamist 22:57

Param tuning is not a big problem in many company, but the best gc effect after tuning is.

Monica Beckwith 23:00

Ok. I understand. What is the live data set size for your 100g heap?

ayanamist 23:00

Yes we do not encounter fullgc on 64GB heap with forked but not community hbase 0.94 even on openjdk 6. But since larger heap brings out more problems, our hbase team is splitting hbase server to small unit using docker to decrease heap size.

@Monica Beckwith Also large than 64G. We have some 196G mem machines.

Reducing heap size and increasing unit count is not a ideal solution. It brings more work on operation and more mem overhead. So if jdk can improve its full gc performance, it will bring a lot wonderful things.

Monica Beckwith 23:04

Ok. We can work on this via email if you prefer… but if you could send more information on LDS and marking threshold and occupancy… it will give me a better idea of the workload pressure on G1

ayanamist 23:09

@Monica Beckwith Fine, i will forward this to our hbase team

Martijn Verburg 23:29

And please do grab a free trial copy of censum from – it will help you compare and contrast your GC behaviour before and after changes.







jcmd <pid> ManagementAgent.start_local

echo “get -d java.lang -b name=Code\ Cache,type=MemoryPool Usage” |  java -jar jmxterm-1.0-alpha-4-uber.jar -l <pid> -v silent -n

jcmd <pid> ManagementAgent.stop

fastjson 1.2.10版本发布,修复Bug,支持Class Level SerializeFilter


Bug Fixed

  1. 修复ValueFilter导致序列化数据丢失的问题,这个在1.2.9优化序列化引起。
  2. 修复某些场景下解析json中的注释出错。issue 559
  3. 修复WriteNonStringValueAsString特性打开时,非public类序列化会导致int类型输出为0的问题。 issue 572
  4. 修复1.2.8/1.2.9版本不支持JDK 1.5的问题


  1. 新增Class Level SerializeFilter支持,在此之前只能在toJSONString时SerializeFilter,对所有的类型都起作用,这样会对框架的实现由性能影响,新特性允许SerializeFilter注册在类型上,具体文档看这里


GreenTeaJUG活动 第23期 上海 JUG合办沙龙

地点:上海市定安路55号 徐汇万科中心 T1座6楼

主题:What HTTP/2 means to Java Developers?
讲师:David Delabassee from Oracle. Software evangelist, his primary focus is Java on the server-side, i.e. Java EE, GlassFish, WebLogic, etc. Prior to Oracle, David spent a decade at Sun Microsystems focusing on Java end-to-end (from the smart card to the high end server), related technologies and the developer tools. In his various roles, he has been involved in numerous Java projects since the early days of this technology. In his spare time, he enjoys playing video games with his daughter and tinkering with technologies such as Java, home automation, electronics and pinballs. Twitter handle: @delabassee

主题:Apache Eagle的设计和实现
讲师:苏良飞 from Shanghai JUG。eBay资深软件工程师,在行业工作了将近8年,在数据库工具,云计算和大数据领域都有较深的介入。目前在ebay的Analytic Data Infrastructure部门工作,主要专注在大数据系统的监控系统研发,包括系统监控和数据安全监控(Apache eagle项目)。

讲师:梅伟 & 张金钟 from Nanjing JUG。梅伟,苏宁中间件研发中心技术经理,7年行业经验,目前关注苏宁中间件产品研发,参与 苏宁服务端性能监控,调用链,Pass云平台的研发,JVM,Mesos,Docker,Cloudfoundry等。张金钟,苏宁易购中间件研发部技术经理,5年行业经验,目前从事苏宁服务端监控(APM)、调用链项目相关研发工作,对JVM的工作原理有一定了解。

主题:Git 客户端在 WebIDE 中的实现
讲师:谭贺贺 from Guangdong JUG。多年系统软件开发经验, 曾就职阿里巴巴数据技术及产品部门负责OLAP开发,现就职与Coding,负责 WEB IDE 与 Codeinsight 后台开发。

讲师:陈海青 (花名:海青) from GreenTea JUG。阿里巴巴集团客户体验事业群高级技术专家。在阿里从事智能人机交互领域相关的工作和研究多年,带领团队构建了阿里巴巴智能交互机器人系统,并在几年的时间里不断通过系统以及算法的升级,使得智能人机交互系统在阿里巴巴全集团多个BU(淘宝、天猫、1688、ICBU、AE、航旅、菜鸟等)业务场景落地,探索出一条在阿里电商体系下可行的智能人机交互之路,在提供智能交互体验的同时大大降低人力成本。而本人也在对话系统构建、机器学习以及自然语言处理等技术领域积累了丰富的经验