JAVA基础
文章平均质量分 77
天狼10010
这个作者很懒,什么都没留下…
展开
-
java-rmi(060701)
1、 相关类package com.rmijava.test;import java.rmi.Remote;import java.rmi.RemoteException;/** * 定义一个远程接口,必须继承Remote接口,其中需要远程调用的方法必须抛出RemoteException异常 * @author Administrator * */pu原创 2016-08-16 09:56:12 · 291 阅读 · 0 评论 -
JVM介绍
1、JVM结构图 1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间。除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射)。2)java堆在虚拟机启动的时候建立,它是java程序最主要的内存工作区域。几乎所有的java对象实例都存放在java...转载 2019-03-27 08:05:55 · 143 阅读 · 0 评论 -
JVM运行时数据区域
1、运行数据区结构图1.1、虚拟机栈 存储当前线程运行方法所需要的数据,指令、返回地址 1.1.1、栈(Stack): 数据结构 入口和出口只有一个 入栈 出栈 1.1.2、栈帧 类中每一个方法对应一个栈帧...转载 2019-04-01 14:59:02 · 322 阅读 · 0 评论 -
RPC底层实现
1、基本原理RPC底层原理:服务端:暴露一个服务接口,整个接口中方法逻辑实现暴露服务接口:Map<String,Object>key:暴露服务接口的名称value:这个接口对应的实现类的实例通过客户端传入的接口名称获取暴露服务列表中的接口实例,通过反射调用对应方法客户端:调用暴露一个服务接口,不用管整个接口的具体实现逻辑,只管调用获取相应结果就ok接口能直接调用:...原创 2019-04-02 09:17:46 · 1235 阅读 · 0 评论 -
IO、NIO、Netty
1、IO 1.1、单客户端 public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8003); System.out.println("服务器正常启动,服务地址:" + serverSo...原创 2019-04-17 15:24:06 · 112 阅读 · 0 评论 -
java并发编程辅助类
1、CountDownLatch用法原创 2019-04-18 17:20:09 · 107 阅读 · 0 评论 -
多线程
1、线程的实现方式 1.1、继承Thread类public class ThreadImplementation extends Thread{ @Override public void run() { System.out.println("线程实现方式之继承Thread类......" + Thread.currentTh原创 2016-09-29 10:16:47 · 223 阅读 · 0 评论 -
Java虚拟机之垃圾收集器
一、关于Java垃圾回收的简介(1)Java 内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。(2)每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由 JIT 编译器进行一些优化),因此这几个区域的内存分配和回收都具备确定性.在这几个区域内不需要过转载 2016-10-12 17:24:51 · 206 阅读 · 0 评论 -
java枚举
public enum Type { STATUS_0(0,"禁用"),STATUS_1(1,"启动"); private Integer code; private String desc; private Type(Integer code, String desc) { this.code = code;原创 2016-08-16 10:39:41 · 233 阅读 · 0 评论 -
JAVA设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化转载 2016-07-28 11:44:14 · 788 阅读 · 0 评论 -
jdk-静态代理
Jdk的静态代理要求,目标对象和代理对象都要实现相同的接口。然后提供给客户端使用。这个代理对客户端是可见的,其结果图如下:1、接口package com.wl.jdk.staticproxy;/*** 接口*/public interface UserService { public void sayHello(String content); }...转载 2016-08-15 13:57:12 · 473 阅读 · 0 评论 -
jdk与cglib动态代理目标对象创建对比
package com.wl.cglib.dynamicproxy;import java.util.Date;import net.sf.cglib.proxy.Enhancer;import com.wl.jdk.dynamicproxy.ProxyFactory;import com.wl.jdk.dynamicproxy.UserService;import com.wl.jdk...转载 2016-08-16 09:23:21 · 952 阅读 · 0 评论 -
并发编程知识
1、线程基础、线程之间的共享和协作1.1、基础概念1.1.1、cpu核心数、线程数 cpu的核心数与线程数是1:1的关系,例如一个8核的cpu支持8个线程同时运行。但在intel引入超线程技术以后,关系就是1:2。在开发过程中并没有感觉到线程的限制,那是因为cpu时间片轮转机制(RR调度)的算法的作用。1.1.2、cpu时间片轮转机制 cpu给每个进程分配一个“时间段”,这...原创 2019-05-05 17:00:21 · 408 阅读 · 0 评论