Java

什么样的代码是好代码?金秋十月,读阿里JAVA开发手册有感而发

1

xiaoli.wang 发布于 2019-10-19

最近重温阿里巴巴Java开发手册这本书,思考了什么样的代码是好代码,给大家分享一下我的想法,有哪里不对,欢迎指出,感激不尽。 什么样的代码是好代码? 什么是好代码?实现了功能的代码只是合格的代码,而真正的好代码具有以下特点: 命名易于理解,语义表达清晰而不需人揣摩 代码逻辑清晰透...

阅读(8)评论(0)赞 (0)

Maven 多模块管理

15

xiaoli.he 发布于 2019-10-19

随着项目的不断发展,需求的不断细化与添加,代码越来越多,结构也越来越复杂,这时候就会遇到各种问题 不同方面的代码之间相互耦合,这时候一系统出现问题很难定位到问题的出现原因,即使定位到问题也很难修正问题,可能在修正问题的时候引入更多的问题。 多方面的代码集中在一个整体结构中,新入的...

阅读(8)评论(0)赞 (0)

你的“对象”啥时候会进入老年代?

4

hanze 发布于 2019-10-19

JVM堆中有 新生代 、 老年代 两块区域,因为使用 分代回收 策略新生代还会划分为 Eden 和两个 Survivor 区,JVM堆大概是这样子: 程序运行过程中新产生的对象都会分配在 Eden 区,随着时间的推移 Eden 区也是会满的,那么这个时候就会进行 Minor GC...

阅读(7)评论(0)赞 (0)

Binder世界中的代理机制(上)

8

Harries 发布于 2019-10-19

本文分析基于Android P(9.0) 源码 Binder是Android中RPC(Remote Procedure Call)的主要实现机制,它在Android中随处可见,是基石一般的存在。了解Binder的朋友可能都听过代理(Proxy)、引用(Ref)之类的名词,然而关于...

阅读(6)评论(0)赞 (0)

RxJava系列(一):RxJava 观察者模式

yanxinchi 发布于 2019-10-19

RxJava是ReactiveX在JVM上的一个实现,使用可观察序列来编写异步和基于事件的程序的库。它扩展了观察者模式以支持数据/事件序列,并添加了允许您以声明方式组合序列的运算符,同时抽象出对低级线程,同步,线程安全和并发数据结构等问题的关注。 什么是观察者模式 观察者模式也被...

阅读(9)评论(0)赞 (0)

初识CAS的实现原理

4

darida 发布于 2019-10-19

扫描下方二维码或者微信搜索公众号 菜鸟飞呀飞 ,即可关注微信公众号,阅读更多 Spring源码分析 和 Java并发编程 文章。 在Java并发领域,总会提到原子操作,而Java作为一门高级语言,为了实现原子操作,提供了两种解决方案:1)加锁;2)通过CAS来实现,同时JDK在1...

阅读(8)评论(0)赞 (0)

Maven插件构建Docker镜像

6

zhuangli 发布于 2019-10-19

背景 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维上的额外复杂性,尤其是在服务部署和服务监控上。单体应用是集中式的,就一个单体跑在一起,部署和管理的时候非常简单,而微服务是一个网状分布的,有很多服务需要维护和管理,对它进行部署和维护的时候则比较复杂。 下面从...

阅读(8)评论(0)赞 (0)

记一次Mac下java环境配置

1

刘莉莉 发布于 2019-10-19

作为一个前端程序员在工作中也无法避免安装Java环境,毕竟总有的项目没有完全前后端分离;而且由于公司后端项目的原因,还用不了最新的JDK版本,因此在我安装最新版本Java环境的情况下需要更换sdk,着实让人感概,前后端分离还是很有必要。。。 既然配置了一次,那就稍微记录梳理一下这...

阅读(8)评论(0)赞 (0)

KubeSphere排错实战

8

xubiao.zhuang 发布于 2019-10-19

概述:近期在使用QingCloud的Kubesphere,极好的用户体验,私有化部署,无基础设施依赖,无 Kubernetes 依赖,支持跨物理机、虚拟机、云平台部署,可以纳管不同版本、不同厂商的 Kubernetes 集群。在k8s上层进行了封装实现了基于角色的权限控制,Dev...

阅读(6)评论(0)赞 (0)

详解阿里Java面试题——多线程精选53题【含答案】,面试必备

2

puefu.he 发布于 2019-10-19

前言 为了能够在面试回答中优雅而不失体面回答面试考点,该文章借鉴了不同平台对知识点的描述。 如有侵权请联系我 文章的不足和错误请指正,好的建议也不要吝啬,我都会采纳并更正 史上最强多线程面试53题【含答案】,点赞,转发,收藏一气呵成! 金九银十虽已过去大半,但还有金三银四呀,最新...

阅读(5)评论(0)赞 (0)

「Go学习笔记」2.Go语言由什么组成?

3

changyuan.xu 发布于 2019-10-19

原文链接 https://juejin.im/post/5daad1ed6fb9a04e270fb0ee 标识符 Go语言标识符是用于标识变量、函数或任何用户自定义项目的名称(程序实体),这个标识符就类似java中的数据类型(基本数据类型、引用数据类型)。标识符有两种类别,一种是...

阅读(7)评论(0)赞 (0)

Vulhub漏洞系列:ActiveMQ任意文件写入漏洞分析

12

darida 发布于 2019-10-19

一、ActiveMQ简介: Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。 二、漏洞描述: 本漏洞出现在fileserver应用中,漏洞...

阅读(10)评论(0)赞 (0)

「Go学习笔记」2.Go语言由什么组成?

3

darida 发布于 2019-10-19

原文链接 https://juejin.im/post/5daad1ed6fb9a04e270fb0ee 标识符 Go语言标识符是用于标识变量、函数或任何用户自定义项目的名称(程序实体),这个标识符就类似java中的数据类型(基本数据类型、引用数据类型)。标识符有两种类别,一种是...

阅读(7)评论(0)赞 (0)

Tomcat 源码剖析(八)Tomcat 是如何加载webapps中的类的

1

xubiao.zhuang 发布于 2019-10-19

Tomcat 是如何加载webapps中的类的? 【问题】 Tomcat 作为一个 Java Web 容器,他在启动时会加载其他用户的代码,而其他用户又可能依赖了其他的 jar 包,因此 Tomcat 是如何将所有的 class 文件加载到容器的呢? 【思路】 建议复习: JVM...

阅读(9)评论(0)赞 (0)

阿里七年Java练习生,如今年薪50W,P7的大佬是怎么样的?

10

hanze 发布于 2019-10-19

提到程序员,人们的第一印象就是高薪资,在咱们Java后端开发的学员里,也有很多人改行过来学IT,也都是冲着高薪资来的。 那么对于一个Java程序员来说,年薪50W到底是个什么水平呢? 关于这个问题,我们先来搞清楚,年薪50W,这个是税前还是税后。 50w年薪税前,500000/1...

阅读(8)评论(0)赞 (0)

由一次线上故障来理解下 TCP 三握、四挥 & Java 堆栈分析到源码的探秘

8

darida 发布于 2019-10-19

本文导读: 生产故障场景介绍 TCP 建连三次握手过程 TCP 断连四次挥手过程 结合 Java 堆栈剖析源码 再从堆栈中找到"罪魁祸首" 问题优化方案总结 1、生产故障场景介绍 业务简介: 该服务主要是提供对外的代理接口,大部分接口都会调用第三方接口,获取数...

阅读(9)评论(0)赞 (0)

设计模式之迭代器模式

2

xiaoli.he 发布于 2019-10-19

0x01.定义与类型 定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示。 类型:行为型 一般情况,我们自己开发时很少自定义迭代器,因为java本身已经把迭代器做到内部中了(比如:常用的list和set中都内置了迭代器)。 当然,如果真有这种需求需要...

阅读(7)评论(0)赞 (0)