
Java编程
码农之屋
这个作者很懒,什么都没留下…
展开
-
最全面的 Spring 学习笔记
Spring致力于提供一种方法管理你的业务对象。在大量Java EE的应用中,随处可见Spring。今天我将简单的介绍一下Spring这个框架。本文适合读者:想学Spring的Java开发者 刚用Spring不久的人Why为什么要使用Spring?Spring主要两个有功能为我们的业务对象管理提供了非常便捷的方法:DI(Dependency Injection,依赖注入)...原创 2020-04-04 11:28:34 · 393 阅读 · 0 评论 -
JVM 内存分代、垃圾回收漫谈
关于 JVM 内存模型以及垃圾回收的文章网上很多,自己以前也看过很多,但是却从来也没有系统的去了解学习过,这次正巧看到一本讲解 JVM 的好书 – 周志明老师的《深入理解 Java 虚拟机》,然后就花了点时间,认真系统的学习了一遍,尽管还没有看完,但是已经爱耐不住,觉得要写点东西出来,写的过程是一个思考融汇的过程,也是一个知识升华的过程。这篇主要简单分享一下关于 JVM 内存模型、内存溢出、内...原创 2020-04-04 11:27:40 · 144 阅读 · 0 评论 -
Java Socket 编程原理及教程
对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信。这样就有两个Socket了,客户端和服务端...原创 2020-04-04 11:26:50 · 153 阅读 · 0 评论 -
Java 并发开发:Lock 框架详解
摘要:我们已经知道,synchronized 是java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方式处理线程同步问题。本文以synchronized与Lock的对比为切入点,对Java中的Lock...原创 2020-04-04 11:25:41 · 154 阅读 · 0 评论 -
图解Java常用数据结构(一)
最近在整理数据结构方面的知识,系统化看了下Java中常用数据结构,突发奇想用动画来绘制数据流转过程。主要基于jdk8,可能会有些特性与jdk7之前不相同,例如LinkedList LinkedHashMap中的双向列表不再是回环的。HashMap中的单链表是尾插,而不是头插入等等,后文不再赘叙这些差异,本文目录结构如下:LinkedList经典的双链表结构,适用于乱序插入、删...原创 2020-03-08 13:35:26 · 129 阅读 · 0 评论 -
程序员必读的30本书籍(下)
16. 《修改代码的艺术》作者: MichaelFeathers我们都知道,即使是最训练有素的开发团队,也不能保证始终编写出清晰高效的代码。如果不积极地修改、挽救,随着时间流逝,所有软件都会不可避免地渐渐变得复杂、难以理解,最终腐化、变质。因此,理解并修改已经编写好的代码,是每一位程序员每天都要面对的工作,也是开发程序新特性的基础。然而,与开发新代码相比,修改代码更加令人生畏,而且长...原创 2020-03-08 13:32:26 · 272 阅读 · 0 评论 -
程序员必读的30本书籍(上)
1. 《代码大全》(第二版)作者:[美]史蒂夫·迈克康奈尔第2版的《代码大全》是著名IT畅销书作者史蒂夫·迈克康奈尔11年前的经典著作的全新演绎:第2版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容。这也是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点...原创 2020-03-08 13:30:28 · 1110 阅读 · 0 评论 -
你太菜了,竟然不知道Code Review?
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。我一直认为Code Review(代码审查)是软件开发中的优秀实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问...转载 2020-03-03 22:36:09 · 312 阅读 · 0 评论 -
谁在代码里下的毒
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。只要在公司上班,一个人负责一个项目的开发和维护这种情况很少会出现, 一般是由多个人合作开发一个项目, 在整个项目的生命周期...原创 2020-03-02 23:41:01 · 199 阅读 · 0 评论 -
Java入门需掌握的30个基本概念
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就...原创 2020-03-02 23:40:19 · 120 阅读 · 0 评论 -
Java 程序员应该了解的 10 个面向对象设计原则(译文)
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)...原创 2020-03-02 23:39:44 · 143 阅读 · 0 评论 -
史上最牛逼的 Eclipse 快捷键,提高开发效率!
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。1、打开资源的快捷键快捷键 介绍 CTRL + SHIFT + R 打开所有类型文件,不包括 JAR 包 C...原创 2020-03-01 19:38:46 · 165 阅读 · 0 评论 -
为什么 main 方法是 public static void ?
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。文章目录 1、为什么main方法是静态的(static) 2、为什么main方法是公有的(public)...原创 2020-03-01 19:37:06 · 185 阅读 · 0 评论 -
面试:史上最全多线程面试题 - (锁&内存模型&线程)
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。转存失败重新上传取消1.什么是活锁、饥饿、无锁、死锁?死锁、活锁、饥饿是关于多线程是否活跃出现的运行阻塞障碍问题,如果线程出...原创 2020-03-01 19:30:16 · 446 阅读 · 0 评论 -
华为编程规范,代码验收标准
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。引言:这个标准是衡量代码本身的缺陷,也是衡量一个研发人员本身的价值。军规一:【避免在程序中使用魔鬼数字,必须用有意义的常...原创 2020-02-25 23:14:44 · 763 阅读 · 0 评论 -
吃透这9本书足以让你成为Java大神
我的公众号「码农之屋」(id: Spider1818),分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处: 1.能出版出来的书...原创 2020-02-23 10:14:50 · 314 阅读 · 0 评论 -
Java编程:并发编程之线程安全
本文首发于我的公众号码农之屋(id:Spider1818),专注于干货分享,包含但不限于Java编程、网络技术、Linux内核及实操、容器技术等。欢迎大家关注,二维码文末可以扫。导读:要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(可由多线程同时访问)和可变的(变量值在其生命周期内会发生变化)状态的访问。一、什么是线程安全本节我们将用一个示例来回答线程安...原创 2019-09-07 13:52:46 · 159 阅读 · 0 评论