
java
虾 米
这个作者很懒,什么都没留下…
展开
-
【JavaEE】自主实现java线程池的核心部分
java的线程池是一个很凶悍的容器原创 2020-05-11 12:30:23 · 181 阅读 · 0 评论 -
【JavaEE】基于代理机制的RMI的实现
RMI技术:Remote Methed Invoke 远程方法调用在CSFramework中,大量存在客户端向服务器端发出的请求;而这个请求到了服务器端,实质上是要执行一些服务器端的方法,并得到一个“响应”。那么,如果把请求当成一个“本地方法”,在客户端执行,而实质上,该方法只在服务器端存在真正的本体。现在,我们使用RMI和代理机制来实现,不需要再像CSFramework那样通过action分...原创 2020-05-05 18:13:35 · 202 阅读 · 0 评论 -
【JavaEE】代理机制(工具思想)
在学习JavaSE的时候,我们学过一个非常厉害的技术,叫做反射机制。在我看来,一切框架都是基于反射技术的。而代理机制,则是又一个很厉害的技术。先来介绍一下代理机制: 主要作用是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目...原创 2020-05-05 10:30:27 · 276 阅读 · 0 评论 -
【JavaEE】NetFrameWork——多线程的应用
NetFrameWork是CsFrameWork的进阶,两者之间最大的区别是原来的csFrameWork比较low,用的是长连接,运行的效率比较低,整体线程安全性低等。其中,安全性低是因为CsFrameWork编写时没有考虑过多线程的情况,当出现多个客户端同时连接等高并发现象时,就会崩溃!先来看一下之前的会话过程。public abstract class Communication imp...原创 2020-05-03 21:03:39 · 251 阅读 · 0 评论 -
【JavaEE】定时器(定时到毫秒级别)
需求:实现一个定时器,用户可以自行确定定时的时间间隔,并且当到达规定时间的时候,可以自动执行用户提供的方法。需求分析:由于要实现一个定时器,还要执行用户的方法,理所应当应该专门用一个线程来进行定时,并放到一个循环里面,但是是否需要再来一个线程专门进行方法的执行,需要进行斟酌。如果不再单独调用一个线程话,那么代码将会是如下形式:@Override public void run() { ...原创 2020-04-10 11:40:14 · 1804 阅读 · 0 评论 -
【JavaEE】文件的二进制操作
对于文件的读写操作,有很多种不同的方法。下面我们进行一一介绍。首先,我们先准备好一个3.5M左右大小的文件。如图所示:方法一:逐字节读写执行如下代码: try { long startTime = System.currentTimeMillis(); File file = new File("./bin/res/leftHand.mp3"); FileInputSt...原创 2020-04-07 11:30:08 · 149 阅读 · 0 评论 -
【JavaEE】Set集合详解
首先说,Set是一个接口,在看其原码的时候,看到Set接口继承了Collection接口。然而,Set接口和Collection接口中定义的方法几乎完全一样和,除了有default修饰的方法不一样之外。可以看出,Set接口具有与Collection接口几乎完全一样的性质。事实上,Set就是Collection,只是行为不同。Set集合不保存重复的元素。如果你想把相同对象的多个实例添加到Set中,...原创 2020-05-16 09:09:16 · 324 阅读 · 0 评论 -
【Javascript】原型和原型链的深层解析
原型和原型链的概念先来看一下这两个属性在网页的控制台显示出的内容:其中,prototype表示的是原型,而相当于我们之后写的__proto__(这里一共是四个下划线),表示的是原型链。原型:用prototype表示,表示 类与类之间的父子关系。一个函数或者类,都含有一个prototype属性,这个属性是一个指针,会指向一个原型对象,比如上面的图片,Point类指向了Object对象。事实上...原创 2020-05-08 21:58:25 · 199 阅读 · 0 评论 -
【JavaSE】csFrameWork——将Gson化的Map解析成对应的Map
在csFramWork里面,由于需要通过 read()和write() 方法来收发信息。在传递参数时,我们可以传递一个Map,将它转换成gson字符串,作为一个NetMessage类的mess成员,再将NetMessage类转换成字符串进行传递。而在另一端,我们就需要进行解析,那么解析成Map时,就会出现问题。...原创 2020-04-07 10:19:40 · 177 阅读 · 0 评论 -
【JavaSE】csFrameWork——Gson的巧妙使用
Gson类是由谷歌公司提供的一个强大的类。它可以将任意对象转换成字符串,还可以将任意字符串,通过给定的类型,转换成对应该类型的对象。来举个例子:public class Test { public static void main(String[] args) { Gson gson = new GsonBuilder().create(); Complex complex ...原创 2020-04-01 21:27:45 · 156 阅读 · 0 评论 -
【JavaSE】普通包、jar包扫描(工具思想)
包扫描这一技术,应用非常广泛。在spring中,通过给自己的类加注解的方式,利用spring的包扫描,完成依赖注入。因为这一技术应用广泛,所以把它写成一个工具。下面直接列出包扫描工具的源代码。public abstract class PackageScanner { //无参构造方法 public PackageScanner() { } //抽象方法,对于已选中的包的具体操作,由用...原创 2020-04-01 21:27:56 · 231 阅读 · 0 评论 -
【JavaSE】简单实现两个单例工厂模式——饿汉vs懒汉
先看代码:public class MecOrm { private static Connection connection; private MecOrm() { //这里是重点,构造方法是修饰权限是:private PropertiesParser property = new PropertiesParser(); //这里还是直接用到了前面博文写的工具——...原创 2019-11-28 21:37:20 · 226 阅读 · 0 评论 -
【JavaSE】反射机制(工具思想)
话不多说,先上代码。先来一个接口public interface IDoSomething { //简单定义一个方法 void doSomething(String message);}然后,实现两个有关于这个接口的实现类:public class Teddy implements IDoSomething { //实现该接口,必然要实现该接口所定义的方法; public T...原创 2019-11-20 15:14:22 · 146 阅读 · 0 评论 -
【JavaSE】properties文件的解析(工具思想)
先建立一个properties文件。通过做工具对properties文件进行解析:import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import java.util.Proper...原创 2019-11-17 19:11:51 · 156 阅读 · 0 评论 -
【JavaSE】java虚拟机——JVM
2而原创 2019-11-27 00:47:46 · 153 阅读 · 0 评论 -
【JavaSE】多线程volatile关键字
编译优化我们都知道,所有的高级程序设计语言所编写的源代码,都要经过编译系统或解释系统的翻译,转换为计算机硬件系统能够识别的机器语言代码,才能最终在计算机上执行。而现代的编译或解释软件都很强大,很智能,它们会尽可能选择能让我们的程序以最高效率的形式工作,即,它们会尽可能地“优化”我们的代码,使得最终编译或解释出的机器语言代码与我们的源代码有所差异!...原创 2019-11-27 00:48:12 · 125 阅读 · 0 评论 -
【JavaSE】XML文件的解析(工具思想)
先建立一个XML文件。<?xml version="1.0" encoding="UTF-8"?><students> <student id = "00001" name = "张三" sex = "男" birth = "2001-5-13"> <hobby>打篮球</hobb...原创 2019-11-15 19:45:43 · 277 阅读 · 0 评论