编程学习之路
在路上的一只猫
冰冻三尺非一日之寒,在竞争日益激烈的今天,希望自己能坚守本心,不要急不要慌,沉下来,剩下的交给时间。
展开
-
垃圾收集器与内存分配策略
1. 垃圾收集器与内存分配策略 垃圾回收机制(GarbageCollection,GC),GC的历史要比java悠久。1960年诞生于MIT的Lisp是第一个真正使用内存动态分配和垃圾收集技术的语言。当时人们考虑GC需要解决三件事: Ø 哪些内存需要回收 Ø 什么时候回收 Ø 如何回收 1.1 对象怎么判断是否需要回收 判断对象是否存活,如果存活则不需要回收,如果死亡原创 2017-09-05 13:14:24 · 246 阅读 · 0 评论 -
HashMap 原理(个人收藏)
摘要 HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。 简介 Java为数据结构中的映射定义了一转载 2018-01-09 19:19:33 · 358 阅读 · 0 评论 -
TCP/IP
TCP/IP(Transmission Control Protocol/Internet Protocol) 是internet最基础的网络通信的协议,负责数据的安全传输。Tcp发现传输问题,就会发出信息,要求重新发送,直到正确的信息传送的目的地。Ip是给因特网的每一台连接设备分配一个地址。Tcp/ip协议采用的4层协议模型。 TCP与OSI区别 ...原创 2018-08-15 14:57:59 · 206 阅读 · 0 评论 -
zookeeper集群搭建
环境准备 需要准备三台liunx服务器,有钱的可以买阿里或百度的服务器,跟我这种没钱的就下个vmware虚拟机自己虚拟几台liunx服务器 安装java_jdk,如果不安装java_jdkzookeeper启动不起来 1.查看是否自带jdk rpm -qa|grep java rpm -qa|grep jdk 如果没有任何输出则没有...原创 2018-08-22 23:07:49 · 313 阅读 · 0 评论 -
自己实现一个简单的RPC
闲话不多说,上来撸代码 rpc_client 首先,需要拿到服务器端的接口 package com.swh.ami.highVersion.socket.client; import java.io.Serializable; public interface ILearnService { String learn(String name); } 创建接口代理 ...原创 2018-08-17 17:56:05 · 189 阅读 · 0 评论 -
zookeeper初步了解
目录 什么是zookeeper zookeeper的安装部署及集群搭建 zoo.cfg配置文件分析 zookeeper文件系统 什么是zookeeper zookeeper是Apache组织开发,用于解决集群协调服务的问题的中间件。最开始Apache开发zookeeper是为了解决,多个服务访问同一个共享临界资源时,出现的资源竞争问题。因为是服务器之间的资源竞争不是线程级别的,而...原创 2018-08-24 15:00:14 · 220 阅读 · 0 评论 -
单例模式,以及防止单利被破坏的几种形式
单利模式:只允许创建一个实例 单利模式的几种实现方式: 饿汉式 /** * 饿汉式 * 优点:避免了多线程并发问题 * 缺点: 创建好的对象不是及时的调用会浪费内存空间 */ public class Hungry { private static Hungry hungry = new Hungry(); private Hungry(){} ...原创 2019-02-26 11:21:15 · 410 阅读 · 2 评论 -
工厂设计模式
1.什么是工厂设计模式,为什么需要工厂设计模式 工厂设计模式:需要一个东西,你不需要自己去手动制造,而是交给工厂去制造,你去工厂里面取你所需要的东西。比如:需要用到一个对象,你不需要手动去new,而是去工厂中获取,有工厂来创建这个对象。 好处:解耦,减少冗余,提高容错 解耦:假如一个A类需要B类,A类只需要关注你所调用的方法,至于B类的创建A类不需要关心,只需要去从工厂中获取即可 减少冗余...原创 2019-03-04 16:40:22 · 195 阅读 · 0 评论