随笔分类 -  Java

1 2 3 4 5 下一页

java 编程基础 注解 :可重复的注解
摘要:重复注解 Java8以前,同一个程序元素前最多只能使用一相同类型的注解;如果需要在同一个元素前使用多个相同类型的注解,则必须使用注解"容器"。例如在Struts开发中,有时需要在 Action 类上使用多个@Result注解。在 Java8 以前只能写成如下形式: @Results({ @Resul 阅读全文

posted @ 2021-05-19 19:25 zhangmingda 阅读(1237) 评论(0) 推荐(0) 编辑

java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件
摘要:APT的介绍: APT(Annotation Processing Tool)是一种注解处理工具,它对源代码文件进行检测,并找出源文件所包含的注解信息,然后针对注解信息进行额外的处理。 使用APT工具处理注解时可以根据源文件中的注解生成额外的源文件和其他的文件(文件的具体内容由注解处理器的编写者决定 阅读全文

posted @ 2021-05-19 17:46 zhangmingda 阅读(728) 评论(0) 推荐(0) 编辑

java 编程基础:【注解】 提取注解信息,利用自定义注解编写测试类,注解绑定事件
摘要:提取注解信息 使用注解修饰了类、方法、成员变量等成员之后,这些注解不会自己生效,必须由开发者提供相应工具来提取并处理注解信息。 Java使用java.lang.annotation.Annotation接口代表程序元素前面的注解,该接口是所有注解的父接口。Java5在java.lang.reflec 阅读全文

posted @ 2021-05-18 20:00 zhangmingda 阅读(364) 评论(0) 推荐(0) 编辑

java 编程基础:注解的功能和作用,自定义注解
摘要:1,什么是注解: 从JDK5开始,Java增加了对元数据 (MetaData)的支持,也就是Annotation注解,这种注解与注释不一样,注解其实是代码里的特殊标记,这些标记可以在编译、类加载 运行时被读取并执行相应的处理。通过使用注解,程序开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些 阅读全文

posted @ 2021-05-18 17:08 zhangmingda 阅读(939) 评论(0) 推荐(0) 编辑

java 编程基础 反射方式获取泛型的类型Fileld.getGenericType() 或Method.getGenericParameterTypes(); (ParameterizedType) ;getActualTypeArguments()
摘要:引言 自从JDK5以后,Java Class类增加了泛型功能,从而允许使用泛型来限制Class类,例如,String.class的类型实际上是 Class 如果 Class 对应的类暂时未知,则使 Class<?>。通过在反射中使用泛型,可以避免使用反射生成的对象需要强制类型转换。 泛型作用对比: 阅读全文

posted @ 2021-05-18 16:00 zhangmingda 阅读(3096) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射:动态代理 和AOP:java.lang.reflect.Proxy:(Proxy.newProxyInstance(newProxyInstance​(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h))
摘要:为什么我们使用动态代理 静态代理会让类变多了,多了代理类,工作量变大了,且不易扩展。比如我们上节课的例子,要实现不同的扩展方法就要编写不同的代理类,非常麻烦。 Proxy类的使用规则 Proxy提供了用于创建动态代理类和代理对象的静态方法,它也是所有动态代理类的父类。如果在程序中为一个或多个接口动态 阅读全文

posted @ 2021-05-16 22:49 zhangmingda 阅读(339) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射:代理模式和静态代理
摘要:生活中的代理 类(对象)代理模式 代理模式是面向对象编程中比较常见的设计模式。 1. 用户只关心接口功能,而不在乎谁提供了功能。上图中接口是 Subject 2. 接口真正实现者是上图的 RealSubject,但是它不与用户直接接触,而是通过代理。 3. 代理就是上图中的 Proxy,由于它实现了 阅读全文

posted @ 2021-05-16 21:24 zhangmingda 阅读(65) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射 :数组操作java.lang.reflect.Array类
摘要:java.lang.reflect包下还提供了Array类 java.lang.reflect包下还提供了Array类,Array对象可以代表所有的数组。程序可以通过使 Array 来动态地创建数组,操作数组元素等。 Array提供了如下几类方法: static Object newInstance 阅读全文

posted @ 2021-05-16 17:04 zhangmingda 阅读(328) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射 :参数反射
摘要:方法参数反射 Java8在java.lang.reflect包下新增了Executable抽象基类,该对象代表可执行的类成员,该类派生了Constructor和Method两个子类。Executable基类提供了大量方法来获取修饰该方法或构造器的注解信息:还提供了isVarArgs()用于判断该方法 阅读全文

posted @ 2021-05-16 16:55 zhangmingda 阅读(611) 评论(0) 推荐(0) 编辑

java 编程基础 Class对象 反射 :获取类的构造方法,方法,成员变量,内部类,外部类,父类,实现的接口,修饰符等...
摘要:类 Class 每个类被加载之后,系统就会为该类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类。 我们在Java中获取Class对象一般有三种方式: (1), 使用Class类的forName(String className)静态方法。该方法需要传入字符串参数,该字 阅读全文

posted @ 2021-05-16 14:11 zhangmingda 阅读(692) 评论(0) 推荐(0) 编辑

java 编程基础 类加载器
摘要:什么是类加载器 类加载器负责将class文件(可能在磁盘上,也可能在网络上)加载到内存中,并为之生成对应的java.lang.Class对象。Java开发中无须过分关心类加载机制,但所有的编程人员都应该了解其工作机制,明白如何做才能让其更好地满足我们的编程需要。 细说类加载机制 1,一个类只会被加载 阅读全文

posted @ 2021-05-15 11:16 zhangmingda 阅读(102) 评论(0) 推荐(0) 编辑

java 理论基础 类的初始化(加载、连接(验证、准备、解析)、初始化)
摘要:一个进程就有一个JVM,每个进程之间资源独立 当调用java命令来启动某个Java程序的时候,该命令创建一个独立的进程来运行我们的Java程序。而这个独立的进程里面就包含一个Java虚拟机。不管该程序有多么的复杂,该程序启动了多少个线程,他们都处于该Java对应的进程里。同一个JVM的所有线程,所有 阅读全文

posted @ 2021-05-15 10:38 zhangmingda 阅读(275) 评论(0) 推荐(0) 编辑

java 网络编程基础 UDP协议DatagramSocket,MulticastSocket 实现局域网聊天软件(Server + Client模式)
摘要:开发思路: 服务端两个Socket: UDP的DatagramSocket接收客户端消息。 广播multicastSocket 发送广播消息 客户端一个Socket: multicastSocket 接收服务端发来的广播 (不允许客户端直接发广播),同时发送点对点数据到UDP服务端DatagramS 阅读全文

posted @ 2021-05-14 23:06 zhangmingda 阅读(475) 评论(0) 推荐(0) 编辑

java 网络编程基础 UDP协议的Socket:DatagramSocket;广播Socket:MulticastSocket
摘要:什么是UDP协议: UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket 但这两个 Socket之间并没有虚拟链路,这两个Socket只是发送、接收数据报的对象。Java 提供了DatagramSocket对象作为基于UDP协议的Socket。使用DatagramPacket代 阅读全文

posted @ 2021-05-14 23:01 zhangmingda 阅读(857) 评论(0) 推荐(0) 编辑

java 网络编程基础 TCP/IP协议:服务端ServerSocket;客户端Socket; 采用多线程方式处理网络请求
摘要:1、Java中客户端和服务器端通信的简单实例 Java中能接收其他通信实体连接请求的类是ServerSocket,ServerSocket对象用于监听来自客户端的Socket连接,如果没有连接,它将一直处于等待状态 ServerSocket包含一个监听来自客户端连接请求的方法。 ServerSock 阅读全文

posted @ 2021-05-14 16:26 zhangmingda 阅读(528) 评论(0) 推荐(0) 编辑

java 网络编程基础 InetAddress类;URLDecoder和URLEncoder;URL和URLConnection;多线程下载文件示例
摘要:什么是IPV4,什么是IPV6: IPv4使用32个二进制位在网络上创建单个唯一地址。IPv4地址由四个数字表示,用点分隔。每个数字都是十进制(以10为基底)表示的八位二进制(以2为基底)数字,例如:216.27.61.137。 IPv6使用128个二进制位在网络上创建一个唯一地址。IPv6地址由八 阅读全文

posted @ 2021-05-10 12:41 zhangmingda 阅读(208) 评论(0) 推荐(0) 编辑

java 图形化工具Swing 颜色文件选择器 ;JColorChooser;JFileChoose
摘要:使用JColorChooser: JColorChooser用于创建颜色选择器对话框,该类的用法非常简单,该类主要提供了如下两个静态方法: (1),showDialog(Component component, String title, Color initialColor): 显示一个模式的颜色 阅读全文

posted @ 2021-05-09 16:05 zhangmingda 阅读(844) 评论(0) 推荐(0) 编辑

java 图形化工具Swing 创建工具条
摘要:通过JToolBar来创建工具条: Swing提供了JToolBar类来创建工具条,创建JToolBar对象时可以指定如下两个参数: (1),name: 该参数指定该工具条的名称。 (2),orientation: 该参数指定该工具条的方向 一旦创建了JToolBar对象之后,JToolBar对象还 阅读全文

posted @ 2021-05-08 22:56 zhangmingda 阅读(397) 评论(0) 推荐(0) 编辑

java 图形化工具Swing 监听键盘输入字符触发动作getInputMap();getActionMap();
摘要:双缓冲技术的介绍: 所有的Swing组件默认启用双缓冲绘图技术。使用双缓冲技术能改进频繁重绘GUI组件的显示效果(避免闪烁现象)JComponent组件默认启用双缓冲,无须自己实现双缓冲。如果想关闭双缓冲,可以在组件上调用setDoubleBuffered(false)方法。同学们无需深究双缓冲技术 阅读全文

posted @ 2021-05-08 22:41 zhangmingda 阅读(968) 评论(0) 推荐(0) 编辑

1 2 3 4 5 下一页

导航