随笔分类 -  JAVA笔记

摘要:动态编译与动态运行 在这样的场景中:我们设计了一个网页,允许用户在网页上输入java代码,提交后获得java代码的执行结果。这个功能,无需用户安装jre或是jdk,就能获得java编译运行的结果。这个功能,就要依赖动态编译与动态运行。 这样设计:用户输入代码,提交后,通过网络流传入到我们的服务器,我 阅读全文
posted @ 2020-01-04 18:50 Scorpicat 阅读(285) 评论(0) 推荐(0)
摘要:反射的概念 当程序运行时,程序中的每一个类都会被加载到堆内存中。生成且尽每个类仅生成一个Class对象。这个对象保存了整个类的结构信息,包括这个类的所有属性与方法甚至注解。就像一面镜子一样。所以我们称之为反射。 当我们说反射时,说的就是Class类与java.lang.reflect包中的类 每个类 阅读全文
posted @ 2020-01-03 15:12 Scorpicat 阅读(287) 评论(0) 推荐(0)
摘要:步骤 编写类 编写类的注解 编写类的属性的注解 在类中添加注解 反射读取注解内容 编写类和添加注解 package _20200102_reflectAnnotation_again; @StuTable("tb_student")//添加注解 public class Student { @Stu 阅读全文
posted @ 2020-01-02 20:17 Scorpicat 阅读(181) 评论(0) 推荐(0)
摘要:注解 注解与注释都是用来说明程序的代码的作用。但与注释不同的时,注解可以被其他程序辨识,作为可操作的数据处理。 注解可以用在类、方法、包、作用域等。 一些常见的注解 @Override 在一个方法上面若写了@Override则说明这个方法是重写父类的方法,若此方方法在父类中不存在,则会报错。 @De 阅读全文
posted @ 2020-01-02 16:45 Scorpicat 阅读(912) 评论(0) 推荐(0)
摘要:当char byte short变量参与运算时,会自动转换为int型数据进行运算。 当使用*= += /= -=等扩展运算符进行运算时,会自动进行数据类型转换。 所以:会报错。 short s = 1; short s1 = 2; short s2 = s+s1; 而:不会报错 short s = 阅读全文
posted @ 2019-12-30 19:46 Scorpicat 阅读(152) 评论(0) 推荐(0)
摘要:接口中的方法包括:抽象方法,默认方法和静态方法。 其中抽象方法没有方法体,用public修饰。 默认方法用default修饰,必须有方法体。 静态方法必须有方法体。 interface A{ public void test1(); void test2(); default void test3( 阅读全文
posted @ 2019-12-30 19:31 Scorpicat 阅读(174) 评论(0) 推荐(0)
摘要:toArray() toArray方法与toString、getBytes等转换数据结构的方式一样频繁被使用,所以应该掌握它。 new String[0] 在使用toArray方法时,我们在参数列表中传入new String[0] 表示这个方法将返回一个String类型的字符串。 List<Stri 阅读全文
posted @ 2019-12-27 09:46 Scorpicat 阅读(880) 评论(0) 推荐(0)
摘要:HTTP服务器 http协议的底层是tcp/ip协议,浏览器与服务器的交互就是tcp的通信过程。所以我们可以使用先前学的tcp通讯知识点搭建一个简单的服务器。 思路 使用ServerSocket创建一个服务器端(指定端口为8888),阻塞式接受tcp请求(accept()方法) 从浏览器访问:htt 阅读全文
posted @ 2019-12-25 09:50 Scorpicat 阅读(391) 评论(0) 推荐(0)
摘要:新:使用Dom4J的SAX解析XML 我就不详细写了 SAXReader reader = new SAXReader(); Document doc = reader.read(new File("conf/emplist.xml")); Element root = doc.getRootEle 阅读全文
posted @ 2019-12-24 12:20 Scorpicat 阅读(396) 评论(0) 推荐(0)
摘要:字面量就是123 'a' "fff"等如此的直接量。 在创建变量初始化值推荐使用字面量,因为使用字面量可以实现复用。而使用new则必定在内存在开辟新的空间。 字面量示例 String str1 = "123"; String str2 = "123"; String str3 = "12"; str 阅读全文
posted @ 2019-12-23 14:55 Scorpicat 阅读(417) 评论(0) 推荐(0)
摘要:1.Arrays.asList方法的问题 为什在使用Arrays.asList()方法时,当传入基本数据类型数组,返回的是List<数组>,当传入String[] 与Integer[]返回的却是List<String>与List<Integer>? int[] arr = {1,2,3}; Inte 阅读全文
posted @ 2019-12-20 13:24 Scorpicat 阅读(151) 评论(0) 推荐(0)
摘要:三大变量 成员变量 实例变量(类变量) 静态变量(static修饰的类变量) 局部变量 初始化 实例变量在new的时候被创建在堆中,实例变量的默认值为基础数据类型与引用数据类型的默认值。 静态变量:静态变量在类加载时被存储在方法区中。如没有初始化,则为基础数据类型与引用数据类型默认值。 成员变量:无 阅读全文
posted @ 2019-12-20 10:53 Scorpicat 阅读(123) 评论(0) 推荐(0)
摘要:GC是JVM中自带的一个线程 他会不定时来堆中回收那些不再使用的对象,以释放内存 可以通过System.gc()来主动建议jvm尽快调度gc来回收垃圾 不同的平台的jvm对GC的策略是有所不同的 我们可以使用引用=null的方法断开引用与对象的指向,使该对象变成一个垃圾,会在gc来的时候,被回收掉。 阅读全文
posted @ 2019-12-20 09:52 Scorpicat 阅读(131) 评论(0) 推荐(0)
摘要:思路 客户端读写各一个类,可以使内部类,实现Runnable。读写类都与服务器端建立连接,一个收,一个发。 客户端实现接收和转发。多线程实现每个客户端的连接(使与各客户端的连接独立)。 服务器端中创建一个公共缓冲池,用于存放消息。通过服务器中的转发方法转发给个客户端。 客户端 代码 package 阅读全文
posted @ 2019-12-19 14:58 Scorpicat 阅读(490) 评论(0) 推荐(0)
摘要:转自:https://blog.csdn.net/u012525096/article/details/76924627 今天写安卓向服务器发送图片,过程为:客户端发送数据->服务器接收、处理数据->服务器返回处理信息->客户端接收数据并显示。安卓客户端中,发送数据(out.write)后,调用ou 阅读全文
posted @ 2019-12-18 17:44 Scorpicat 阅读(465) 评论(0) 推荐(0)
摘要:java中有两种内部类 成员内部类:即写在类中的类 局部内部内:写在方法中的类 静态内部类:使用static修饰的成员内部内,可以直接new 匿名内部类:使用最多的一种形式,懂就行 参考文章 :https://www.cnblogs.com/xiaoxi/p/7338771.html 阅读全文
posted @ 2019-12-18 16:13 Scorpicat 阅读(110) 评论(0) 推荐(0)
摘要:TCP编程 TCP编程是面向连接的数据传输,所以需要时用IO流来建立连接。 用户输出流到服务器,服务器输入流接收数据。 服务器输出流到用户,用户输入流接收。 基本流程 服务器端 创建服务器端:ServerScoekt 对象 阻塞时监听用户接入:accep() 返回Socket对象 建立连接:与返回的 阅读全文
posted @ 2019-12-18 11:35 Scorpicat 阅读(195) 评论(0) 推荐(0)
摘要:UDP编程标准步骤 服务器端 使用DatagramSocket创建服务端:DatagramSocket server = new DatagramSocket(port);//参数为自定义端口号 准备接受容器1:必须是byte数组 使用DatagramPacket创建接受容器2:DatagramPa 阅读全文
posted @ 2019-12-16 17:16 Scorpicat 阅读(221) 评论(0) 推荐(0)
摘要:认识URI、URL、URN 详细请参考:https://blog.51cto.com/xoyabc/1905492 URI:uniform resource Indent 统一资源标识符 URL:uniform resource locator 统一资源定位符 URN:统一资源名称 它们的关系如: 阅读全文
posted @ 2019-12-13 16:24 Scorpicat 阅读(460) 评论(0) 推荐(0)
摘要:端口与几个CMD命令 公认端口:0-1023 比如80端口分配给www,21端口分配给FTP等 注册端口:2014-49151 分配给用户进程或引用程序 动态/私有端口:49151-65535 需要知道的CMD命令 查看所有端口 :netstat -ano 查看指定端口:netstat -ano|f 阅读全文
posted @ 2019-12-13 16:05 Scorpicat 阅读(883) 评论(0) 推荐(0)