Java学习笔记
文章平均质量分 82
潇潇雨歇_
www
展开
-
Cglib动态代理实现及原理
通过字节码技术创建这个类的子类,实现动态代理/*** 被代理类*/System.out.println("被代理的方法执行了");}}该类实现了创建子类的方法与代理的方法。//设置父类方法通过入参即父类的字节码,扩展父类的class来创建代理对象。intercept()方法拦截所有目标类方法的调用,obj表示目标类的实例,method为目标类方法的反射对象,args为方法的动态入参,methodProxy为代理类实例。通过代理类调用父类中的方法。原创 2023-01-04 16:19:05 · 863 阅读 · 1 评论 -
JDK动态代理实现与原理分析
1.代理类是自己手工实现的,自己创建一个java类,表示代理类2.同时也要实现你所要代理的目标3.静态代理的优缺点优点:1)实现简单2)容易理解缺点:当你的项目中,目标类的代理类很多的时候,有一下的缺点1)当目标类增加了,代理类可能也需要成倍的增加2)当你的接口中功能在增加了,或者修改了,会影响众多的实现类,厂家类,代理都需要修改,影响比较多1) 动态代理是指代理类对象在程序运行时由JVM根据反射机制动态生成的。动态代理不需要定义代理类的,java源文件。原创 2022-12-23 16:40:44 · 1399 阅读 · 0 评论 -
关于继承RuntimeException类来自定义异常在接口开发中的使用总结
在接口开发的过程中,为了程序的健壮性,经常要考虑到代码执行的异常,并给前端一个友好的展示,这里就用到的自定义异常,继承RuntimeException类。那么这个RuntimeException和普通的Exception有什么区别呢。Exception: 非运行时异常,在项目运行之前必须处理掉。一般由程序员try catch 掉。 RuntimeException,运行时异常,在...原创 2019-12-19 15:53:27 · 3495 阅读 · 2 评论 -
Java 接口编程题练习
题目1:创建Person接口(即“人”),它有setData()和getData()方法对“人”属性name、sex和birthday赋值和获得这些属性组成的字符串信息。创建类Student实现Person接口,并对自己的“学生”属性的成员变量sID、speciality设置值和获得它们值所组成的字符串信息。 代码: People.java(接口)package com.i原创 2017-02-19 12:08:05 · 10796 阅读 · 0 评论 -
Java常见容器练习-----(散列表Hash)
代码:package HashMap;import java.util.HashMap;import java.util.Scanner;public class Coin { private HashMap coinnames =new HashMap(); public Coin(){ coinnames.put(1,"penny"); coinn原创 2017-02-19 00:31:32 · 440 阅读 · 0 评论 -
Java常见容器练习一(顺序容器,对象数组,集合容器)
代码:package notebook;import java.util.ArrayList;import java.util.HashSet;public class NoteBook { /* * 顺序容器ArrayList */ private ArrayList notes=new ArrayList(); public void add(String s){原创 2017-02-18 23:57:02 · 1341 阅读 · 0 评论 -
关于Sqlite的一些基本语句使用
1.打开dos命令行,找到Sqlite3所在文件夹目录(我放在C盘的一个Sqlite文件夹中) 2.接着开始创建数据库,调用C:\Sqlite文件夹中的Sqlite3.exe,并输入命令行Sqlite3 C:\Sqlite\Java.db,创建一个名为Java.db的数据库,可以查看当前Sqlite3的版本号。 3.再次输入Sqlite3 C:\Sqlite\Java.db命原创 2016-03-31 14:27:12 · 700 阅读 · 0 评论 -
图形界面---显示图像
输入代码:import java.awt.Graphics;import java.awt.Image;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JPanel;public class ImageP extends JFrame { public ImageP()原创 2016-03-27 13:43:54 · 530 阅读 · 0 评论 -
事件监听器----画圆
输入代码:import java.awt.BorderLayout;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;impo原创 2016-03-27 16:40:34 · 548 阅读 · 0 评论 -
一些应用的功能实现
输入代码: 1.测试函数import java.awt.GridLayout;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import原创 2016-03-31 10:55:15 · 477 阅读 · 0 评论 -
FileInputStream和FileOutputStream字节流的两种读写方式效率对比
第一种读写方式:单个字节写入输出流import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import javax.imageio.stream.FileImageInputStream;public class Fi原创 2016-09-11 14:27:24 · 3934 阅读 · 0 评论 -
字节流ByteArrayInputStream和ByteArrayOutputStream的练习
练习一:字节流ByteArrayInputStream的读写过程测试import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;public class ByteArrayInput原创 2016-09-11 14:39:35 · 851 阅读 · 0 评论 -
Java MD5加密原理分析及代码示例
摘要: MD5其实不是加密算法,准确的应该叫信息摘要算法,因为加密要对应解密,而MD5是不可逆的,具体详情请Google。由于MD5的不可逆,所以有的网站会把密码转换MD5,然后存储。但是这种算法并不是100%严密的,参考MD5 - 维基百科下面就写写MD5在Java中的使用。主要分为四步定义一个char数组,存储16进制的基本字符char hexDigit原创 2017-02-20 22:29:02 · 813 阅读 · 0 评论 -
MD5加密算法测试
代码:Md5util.javapackage com.md5;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import sun.misc.BASE64Encoder;public class Md5util { public static String md原创 2017-02-20 22:38:10 · 672 阅读 · 0 评论 -
使用正则表达式抓取网易云课堂中的数据
要抓取数据的页面如下:代码:package com.url;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.Vector;import java.ut原创 2017-07-22 15:17:35 · 983 阅读 · 0 评论 -
使用Jsoup 抓取本人CSDN博客文章列表的数据
代码:package cn.test.webcap;import java.io.IOException;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.sql.SQLException;import java.text.Par原创 2017-07-21 12:57:45 · 623 阅读 · 0 评论 -
使用Jsoup 简单抓取页面的数据
代码:package cn.test.webcap;import java.io.IOException;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.sql.SQLException;import java.text.Par原创 2017-07-20 19:55:16 · 377 阅读 · 0 评论 -
JFreeChart 制作柱状图分析数据
代码:ChartHistogram.javapackage com.utils;import java.awt.Font;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.plot.PlotOrientation;import org.原创 2017-07-14 09:35:39 · 566 阅读 · 0 评论 -
JFreeChart 制作3D饼状图分析数据
代码:CharUtil.javapackage com.chart;import java.awt.Font;import java.text.NumberFormat;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.labels.St原创 2017-07-14 09:35:13 · 647 阅读 · 0 评论 -
JFreeChart 制作折线图分析数据
代码:LineChart.javapackage com.servlet;import java.awt.Font;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.原创 2017-07-13 22:10:18 · 1598 阅读 · 0 评论 -
数字签名算法的具体使用测试
代码:RSAUtils.javapackage com.util;import java.io.ByteArrayOutputStream; import java.security.Key; import java.security.KeyFactory; import java.security.KeyPair; import java.security.Key原创 2017-07-01 10:55:33 · 672 阅读 · 0 评论 -
短信验证码接口的实现
代码:sendsms.java原创 2017-07-01 10:44:59 · 9965 阅读 · 3 评论 -
数字签名算法的实现
算法流程图: 实现类:RSA.javapackage com.rsa;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java原创 2017-06-16 16:59:30 · 4966 阅读 · 0 评论 -
IO框架的主要函数测试
代码:import java.io.File;import java.io.FileFilter;import java.io.FilenameFilter;import java.io.IOException;public class Filetest { public static void main(String[] args) { File file=new Fi原创 2016-09-10 18:20:18 · 346 阅读 · 0 评论 -
线程通信
代码:import java.util.LinkedList;public class Main { public static void main(String[] args) { Basket basket=new Basket(); Productor productor=new Productor(basket); Consumer原创 2016-04-11 10:59:13 · 404 阅读 · 0 评论 -
多线程编程
public class Main{ public static void main(String[] args) { Bank bank=new Bank(); ThreadDemo p1=new ThreadDemo(bank); p1.start();//柜台取钱 ThreadDemo p2=new ThreadDemo(bank);原创 2016-04-10 16:44:14 · 410 阅读 · 0 评论 -
总结一:java可视化编程之Frame容器
一般我们要生成一个窗口,通常是用Window的子类Frame来进行实例化,而不是直接用到Window类。Frame的外观就像我们平常在windows系统下见到的窗口,有标题、边框、菜单、大小等等。每个Frame的对象实例化以后,都是没有大小和不可见的,因此必须调用setSize( )来设置大小,调用setVisible(true)来设置该窗口为可见的。 另外,AWT在实际的运行过程中原创 2015-11-17 13:26:29 · 2338 阅读 · 0 评论 -
两种布局管理器的用法总结
1.流式布局管理器 代码:import java.awt.Button;import java.awt.Color;import java.awt.FlowLayout;import javax.swing.JFrame;public class MyFrame extends JFrame { public MyFrame() { setLayout(new Fl原创 2015-11-21 10:03:36 · 776 阅读 · 0 评论 -
一些有趣的图形界面
代码:import javax.swing.*;import java.awt.*;public class SmilingFace extends JFrame//此处extends用于建立继承关系{ public SmilingFace(String SmilingFace) { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE原创 2015-10-15 17:12:16 · 506 阅读 · 0 评论 -
一些l练习about Java
1.函数求回文数import java.util.Scanner;public class huiwen { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); reverse(n); } public static原创 2015-10-14 17:00:41 · 480 阅读 · 0 评论 -
一些有趣的用户图形界面(do--while实现)
代码:import javax.swing.JOptionPane; public class fder { public static void main(String[] args) { String numStr,result; int num,again; do { numStr=JOptionPane.showInputDi原创 2015-10-14 17:12:08 · 643 阅读 · 0 评论 -
Java上机课后实践
/* * 3.4题目要求:Write a program that generates two intergers under 100 and prompts the user to enter the sum of these two integers.The program then reports true if the answer is correct,flase otherwise原创 2015-09-26 10:39:13 · 763 阅读 · 0 评论 -
Java一些基础类库小结
1.常用的基础jar包作为java语言使用者,我们可以感受到java语言带来的优势(平台无关、面向对象、多线程、高效易扩展等),而且它有很多已经实现的类库可以供我们直接使用,这些类库都是以jar包的形式提供的,也可以成为java API,它为编程者实现了各种常用操作的方法,为程序员编写java程序代码带来了许多方便。 作为初学者,我觉得熟练掌握和应用java基础类库是很有必原创 2015-10-13 13:29:19 · 1442 阅读 · 0 评论 -
Java常用的类方法使用总结
JAVA常用类的使用方法1、Integer类2、Float类3、Double类4、Character类5、String类6、StringTokenizer类7、StringBuffer类8、Random类1.Integer类的使用方法Interger:整数类型1、属性。static int MAX_VALUE:返回最大的整型数;stati原创 2015-11-05 11:18:16 · 1426 阅读 · 0 评论 -
Java简单的输入语句练习(整型数据)
输入代码:import java.util.Scanner;public class sum { public static void main(String[] args) { int a,b,i,n,sum; Scanner in=new Scanner(System.in); n=in.nextInt(); for(i=0;i<n;i++)原创 2015-09-10 12:01:53 · 5020 阅读 · 0 评论 -
java简单的输入语句(字符串)
输入代码:import java.io.*;//使用BufferedReader用前需要引入import java.io.Readerpublic class string{ public static void main(String[] args)throws IOException { while(true) {原创 2015-09-10 12:20:30 · 5237 阅读 · 0 评论 -
一些有趣的图形界面
输入代码:import javax.swing.*;public class GUIComponents { public static void main(String[] args) {JButton jbtOK=new JButton("OK");//点选框JButton jbtCancel=new JButton("Cancel");JLabel jlblName=new原创 2015-10-31 13:27:21 · 464 阅读 · 0 评论 -
一些课后实践about java
代码1:/* * 设计一个矩形类,给定长和宽,输出它的面积和周长 */import java.util.*; import java.util.Scanner; public class Re { public static void main(String[] args) { Rectangle rectangle1 = new R原创 2015-10-31 13:55:45 · 531 阅读 · 0 评论 -
网络编程---Socket编程
1.TcpClint.java 客户端代码:package com.iotest.tcpsocket;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.原创 2016-04-13 16:04:53 · 419 阅读 · 0 评论 -
XML文档解析
book.xml(需要解析的XML文档) 大数据时代 张三 50 Andriod开发 李四 70 Book.java(文档的构造)package bo;public class Book { pub原创 2016-04-12 17:41:24 · 372 阅读 · 0 评论