关闭

[置顶] JVM(三)—垃圾回收算法及垃圾收集器

JVM(三)—垃圾回收算法及垃圾收集器 一、哪些内存需要回收 垃圾收集器主要回收堆内存和方法区的对象。 程序计数器、虚拟机栈、本地方法栈3个区域是线程私有的,随线程而生,随线程而灭。所以方法结束或者线程结束时,内存自然就被回收了。Java堆和方法区中只有在运行时才知道创建哪些对象,所以内存的分配和回收都是动态的。堆区回收的主要是死亡的对象;  方法区回收的主要是废弃的常...
阅读(53) 评论(0)

[置顶] Redis应用3-基于Redis消息队列实现的异步操作

Redis实现消息队列的模式常用的消息队列有RabbitMQ, ActiveMQ, Kafka等,这都是开源的功能强大的消息队列,适合于在企业项目应用。Redis实现的消息队列代码原理 Redis提供了两种方式来作消息队列。 一个是使用生产者消费模式模式, 另一个就是发布订阅者模式。 前者会让一个或者多个客户端监听消息队列,一旦消息到达,消费者马上消费,谁先抢到算谁的,如果队列...
阅读(348) 评论(0)

[置顶] Dubbo入门---搭建一个最简单的Demo框架

Dubbo背景和简介Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。 缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护 垂直应用框架(MVC) 垂直应用架构解决了单一应用架构所面临的扩容问题,流量能够分散到各个子系统当中,且...
阅读(12120) 评论(25)

Java技术常用设计模式(四)--- 工厂模式

一、简单工厂模式1 简单工厂模式概述简单工厂模式即指定一个模子,模子中定义一些方法,方法由具体的类去实现。而工厂类负责创建具体的类的对象实例。2 简单工厂模式结构图组成: Product:抽象产品类,定义了产品的通用属性,相当于模子,它定义了一些功能由子类去实现; ConcreteProduct:具体产品角色,实现了抽象产品类中的功能; SimpleFactory:工厂模式类,负责创建具体 的...
阅读(84) 评论(0)

Java技术常用设计模式(三)--- 模板方法模式

1 模板方法模式概述模板方法核心就是定义整体的逻辑,具体实现可由子类去实现;将一些不变的行为放到抽象类中,这样就能去除子类中不断重复代码的现象,提供了很好的代码复用的实现方式。 模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 2 模板方法模式结构图组成: 抽象模板(AbstractClass):定义了完整的框...
阅读(26) 评论(0)

Java技术常用设计模式(二)--- 代理模式

1 代理模式概述在我们的生活中,有很多普通而又可敬的建筑工人,他们自己有技术,却没有机会随便参与一个项目中去;这时候他们往往会去找也是搞建筑的包工头,包工头手上有很多活可以分派给工人去做。这个过程中包工头就相当于是代理类,主要就是接活; 建筑工人就相当于是被代理类,他们负责实际工作的完成。被代理类和代理类都要实现一个同样的接口;就像上述例子中包工头和建筑工人都要是搞建筑这一行的,这样就能保证包工头...
阅读(24) 评论(0)

Java技术常用的设计模式(一)--- 策略模式

Spring常用的设计模式(一)1 策略模式1 策略模式策略模式是用来封装变化的。同一个功能可由多个算法进行实现(或代码,不同的业务使用不同的处理方式)。 当不同的行为都放在一个类中的时候,就需要使用条件语句if-else-switch来进行选择。但是策略模式是可以将这些不同的行为封装在独立的Strategy类中,再编写一个Context类来选择对Strategy对象的引用。这样就可以根据客户端的...
阅读(26) 评论(0)

JVM(二)—堆内存分析及对象的创建过程

JVM(二)—堆内存分析及对象的创建过程 1 堆内存 堆内存(Java Heap)是Java虚拟机管理的内存中最大的一块,被所有线程所共享。虚拟机启动时创建,存放对象实例和数组。  Java堆中可以细分为:新生代和老年代。  新生代:-Xmn 由Eden区和Survivor区组成,比例是8:1,可通过-XX:SurvivorRatio = 8设置。新生对象一般在Ede...
阅读(40) 评论(0)

JVM(一)—Java内存模型

JVM(一)—Java内存模型 Java虚拟机内存包括如下几个运行时数据区域: (图片来源:http://www.importnew.com/23792.html) 程序计数器虚拟机栈本地方法栈堆方法区 1 程序计数器—线程私有 程序计数器是当前线程执行的字节码的行号指示器。  程序计数器占用一块较小的内存,线程私有。 为什么需要 程序计数...
阅读(27) 评论(0)

二叉树遍历

二叉树遍历二叉树定义:class TreeNode{ int val;//结点的值 TreeNode left;//左结点 TreeNode right;//右结点 public TreeNode(int val){ this.val = val; } }前序遍历前序遍历是先打印根结点值,再...
阅读(49) 评论(0)

Spring Session解决分布式Session问题的实现原理

转载:http://blog.csdn.net/xlgen157387/article/details/60321984 上一篇: 使用Spring Session和Redis解决分布式Session跨域共享问题 :  http://blog.csdn.net/xlgen157387/article/details/57406162 上一篇介绍了如何使用spring...
阅读(97) 评论(0)

反射机制

什么是反射机制 反射就是在运行时,动态获取类的接口,成员,方法和构造器等信息。根据这些动态获取到的信息来创建对象、访问/修改成员、调用方法等。 获取Class对象 当我们编写的类生成的字节码文件中的二进制字节流被类加载器加载到内存当中时,会在方法区产生一个Class对象,作为访问这些类信息的入口。  假如我们编写一个Person类,获取Class对象一般有3种方...
阅读(39) 评论(0)

如何掌握所有的程序语言---By王垠

神才王垠关于编程语言学习方法的介绍,不知道王垠的可以自行百度。对他的评价也是褒贬不一,在此只是献上我的膝盖再次膜拜下。 下面是其所述: 如何掌握所有的程序语言 对的,我这里要讲的不是如何掌握一种程序语言,而是所有的…… 很多编程初学者至今还在给我写信请教,问我该学习什么程序语言,怎么学习。由于我知道如何掌握“所有”的程序语言,总是感觉这种该学“一种”什么语言...
阅读(96) 评论(0)

Spring AOP-1 Spring AOP入门

什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程)。 在我们的代码中,像日志,事务,安全等模块会散步在很多的业务代码中,这些模块称为“横切关注点”。 横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。 这些横切关注点与业务代码的核心功能无关,但是却大量存在,导致了大量代码的重复。 AOP的作用在于分离...
阅读(51) 评论(0)

JVM(四)—一道面试题搞懂JVM类加载机制

有这样一道面试题:class Singleton{ private static Singleton singleton = new Singleton(); public static int value1; public static int value2 = 0; private Singleton(){ value1++; val...
阅读(161) 评论(0)

RPC介绍与代码实现

RPC介绍与代码实现RPC的英文资料网站:https://www.cs.rutgers.edu/~pxk/417/notes/03-rpc.html什么是RPCRPC: Remote Procedure Call Protocol——远程过程调用协议 是一种通过网络从远程计算机程序上请求服务的协议。 它可以使我们通过参数传递的方式就像调用本地的方法一样调用远程服务器上的函数或方法。...
阅读(74) 评论(0)

Java中Date与Calendar小究以及应用Gregoriancalendar类实现简单的日历

关于时间与日期操作,标准Java类库包含了两个类: * Date类 : 表示时间 * GregorianCalendar:表示日历,继承了Calendar类。Date类java,util.Date,可直接输出其实例化对象, 格式如:”Wed Jun 14 17:17:47 CST 2017”Date类主要API: getTime(): 获取当前系统的时间(距离1970年1月1日0时开...
阅读(140) 评论(0)
188条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:69453次
    • 积分:2432
    • 等级:
    • 排名:第15353名
    • 原创:178篇
    • 转载:10篇
    • 译文:0篇
    • 评论:58条
    最新评论