----- ③、Java知识点及应用
谙忆
Java相关研发架构工作经验5年。拥有Java相关发明专利8余项。从事过支付行业,研发与架构的系统稳定地支撑着公司日千万交易笔数量级的支付和对账。
二手车SaaS内核研发3年经验+,拥有二手车行业SaaS相关发明专利6项,研发、架构的元数据内核与权限系统,每日亿万级接口调用。
Java企业开发丰富的理论知识和实战经验。2020年CSDN博客之星第12名,同时在一些社区担任名誉职位。认证为CSDN博客专家、CSDN专栏签约作者、InfoQ签约作者、阿里云ACE杭州同城会会长、阿里云社区认证专家、华为云·云享专家。
展开
-
Java---网络编程(3)-TCP-互传文件和图片
☆ TCP建立连接,形成传输数据的通道。 在连接中进行大数据量传输 通过三次握手完成连接,是可靠协议 必须建立连接,效率会稍低Socket 和 ServerSocket类TCP传输TCP Socket:IP地址和端口,套接字Socket和ServerSocket 建立客户端和服务器端 建立连接后,通过Socket中的IO流进行数据的传输 关闭socket 同样,客户端原创 2016-05-10 14:25:21 · 16260 阅读 · 1 评论 -
HDOJ 2206 IP的计算(正则表达式的应用)
Problem Description 在网络课程上,我学到了很多有关IP的知识。IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如192.168.100.16,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一原创 2016-03-24 13:29:20 · 1906 阅读 · 0 评论 -
Java---网络编程(2)-UDP
UDP☆ UDP 将数据及源和目的封装成数据包中,不需要建立连接 每个数据报的大小在限制在64k内 因无连接,是不可靠协议 不需要建立连接,速度快DatagramSocket和DatagramPacket类 ☆ TCP 建立连接,形成传输数据的通道。 在连接中进行大数据量传输 通过三次握手完成连接,是可靠协议 必须建立连接,效率会稍低Socket 和 ServerSocket类☆原创 2016-05-08 16:15:34 · 9480 阅读 · 0 评论 -
Java---网络编程(1)
网络编程相关基础概念1、计算机网络与Internet 2、TCP/IP协议 3、Internet地址 - - -IP地址,形如xxx.xxx.xxx.xxx - - -域名系统。例如www.edu.cn *URL(统一资源定位符) 协议 :// 主机 [: 端口] [/ 文件] [# 引用] *客户-服务器(Client-Server)模式 网络模型与通讯要素1、网络模原创 2016-05-08 00:13:14 · 4424 阅读 · 0 评论 -
FileUtils类介绍
Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了。如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归。 下面是的一个解决方案,借助Apache Commons IO工具包(commons-io-1.1.jar)来简单实现文件(夹)的复制、移动、删除、获取大小等操作。import org.apache.common转载 2016-07-22 16:51:56 · 3321 阅读 · 0 评论 -
Java---replace与replaceAll的区别
乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样。这两者很容易搞混,在这里详细讲述下。我们先看下JAVA_API的说明:public String replace(char oldChar,char newChar)使用指定原创 2016-07-23 02:07:21 · 30767 阅读 · 1 评论 -
Java---基于TCP协议的相互即时通讯小程序
这是几年前,新浪的一个面试题~要求是3天之内实现~ 通过TCP 协议,建立一个服务器端。通过配置服务器端的IP和端口: 客户端之间就可以相互通讯~上线了全部在线用户会收到你上线的通知。 下线了全部的在线用户会收到你下线的通知! 可以私聊,可以群聊。这是第一个版本~以后有空可以再增加功能~比如传文件啊~等等~设计思想如下:在服务器端 用一个HashMap服务器端源代码:package cn.h原创 2016-05-16 20:00:35 · 18235 阅读 · 4 评论 -
JSP-讲解(生成java类、静态导入与动态导入)
一、JSP技术简介JSP是Java Server Page的缩写,它是Servlet的扩展,它的作用是简化网站的创建和维护。 JSP是HTML代码与Java代码的混合体。 JSP文件通常以JSP或JSPX的扩展名。 JSP拥有自己的语法。 JSP形式上像HTML,但本质上是Servlet。 JSP的出现,使得将Web开发中的HTML与业务逻辑代码有效分离成为可能。通常JSP只负责生成动态的原创 2016-07-29 12:09:38 · 11508 阅读 · 1 评论 -
JavaWeb-监听器Listener解析与实例
首先来介绍一下什么是监听器:监听器-就是一个实现待定接口的普通Java程序,此程序专门用于监听另外一个类的方法调用。 这是使用观察者模式的。什么是观察者模式: 定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新。 示例: GUI编程中的addXxxxListener都是观察者模式。 比如为按钮点击添加监听事件,为键盘添加监听等等…观察者模式的三个原创 2016-08-19 18:05:40 · 9763 阅读 · 3 评论 -
【JavaMailWeb】用户注册通过邮箱激活案例
转载请注明出处: http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】前面刚刚学习了JavaMail技术,现在来应用到项目中试试~网站用户注册:主要实现如下两个功能: 1、用户在网站上注册完成后给用户发一封邮件。 2、用户通过邮件激活后才可以登录。思路:首先需要一个思路:用户在前台点击注册,向servlet提交请求,把用户提交过来的信息封装成一个J原创 2016-08-22 17:49:16 · 21654 阅读 · 13 评论 -
Java Mail---SMTP协议-Java发邮件(带附件)演示过程
转载请注明出处: http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】JavaMail-API简介:邮件客户端的主要任务是向邮件服务器发送邮件,以及接收来自邮件服务器的邮件。 Sun公司制定了一套API,它封装了邮件通信的各种协议。为Java开发者提供了收发电子邮件的公共接口。需要的jar包mail.jar和activation-1.1.0.jar链原创 2016-08-21 14:07:19 · 10394 阅读 · 7 评论 -
Java Mail---SMTP、POP3协议-DOS下手动收发邮件演示过程
转载请注明出处: http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】E-Mail协议简介:邮件服务器,按照提供的服务类型,可以分为发送邮件的服务器我接收邮件的服务器。 发送邮件的服务器使用发送协议,现在常用的是SMTP协议。所以,通常发邮件的服务器也称为SMTP服务器。 接收邮件的服务器使用接收协议,现在常用的是POP3协议或IMAP协议,所以通原创 2016-08-21 12:43:52 · 5350 阅读 · 4 评论 -
apache的FileUtils方法大全
FileUtils获取系统的临时目录路径:getTempDirectoryPath() [java] view plaincopyprint?public static String getTempDirectoryPath() { return System.getProperty("java.io.tm转载 2016-07-22 17:02:30 · 8144 阅读 · 0 评论 -
【BeanUtils】自己写的一个BeanUtils-代码方法详解
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】BeanUtils工具包是由Apache公司所开发,主要是方便程序员对Bean类能够进行简便的操作。在这里,不讲解如何使用apache的BeanUtils工具,而是我们自己写底层,自己利用类反射来实现BeanUtils的功能。 需要先学习类反射!通过给定bean对象的类原创 2016-08-25 15:12:18 · 4387 阅读 · 2 评论 -
【BeanUtils】自己写的BeanUtils的嵌套使用
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】其实不打算写的,因为和前面的是一样的,不过既然有人问起,我就写一下吧。MyBeanUtils这是核心的类:通过这个类来返回一个bean对象的。 你给的参数是bean的class和封装的Map对象。package cn.hncu.beanUtils;import java.lang.r原创 2016-08-25 23:29:32 · 3759 阅读 · 1 评论 -
Java---ThreadLocal的用法与理解实现
java.lang 类 ThreadLocal<T> 我们可以称ThreadLocal为:线程本地变量官方API是这样介绍的: 该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字原创 2016-08-14 14:23:23 · 6388 阅读 · 1 评论 -
Java---多线程的加强(1)
简单应用:首先来看一个简单的例子: 两个线程,分别实现对1-100内的奇数,偶数的输出。第一种方法:通过接口MyRun类:package thread.hello;/** * 通过实现Runnable接口来实现多线程 * @author 陈浩翔 * * @version 1.0 2016-4-21 */public class MyRun implements Runnable {原创 2016-04-21 13:15:00 · 1882 阅读 · 0 评论 -
Java---多线程之死锁
★ 死锁的两种情况:简单的说下单块cpu运行多线程的情况:大家可能平时玩电脑,可以同时挂QQ啊,玩游戏啊,打开文本啊,等等。这里,我们假设是单块cpu。也就是俗称的单核cpu。 大家可能会觉得这些软件,这些线程是同时运行的, 其实不然,其实在任何一种情况下,电脑都只运行一个线程! 只是因为这个单块的cpu内部为我们划分了很多很多的时间块, 而这个时间的划分是以纳秒为单位的,也就是说,这个10原创 2016-04-22 11:16:49 · 5813 阅读 · 0 评论 -
Java---StringBuffer()方法的简单应用
描述:在实际应用中,经常回遇到对字符串进行动态修改。这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加、插入和替换等操作。1、构造函数。StringBuffer() : 构造一个没有任何字符的StringBuffer类。 StringBuffer(int length) : 构造一个没有任何字符的StringBuffer类且其长度为length。 St原创 2016-03-15 21:14:39 · 1706 阅读 · 0 评论 -
Java---IO加强(3)-IO流的操作规律
一般写关于操作文件的读取的几个通用步骤!!! 1、明确源和目的。源:InputStream Reader 一定是被读取的。 目的:OutputStream Writer 一定是被写入的。2、处理的数据是否是纯文本的数据?是:使用字符流。Reader Writer 否:使用字节流。 InputStream OutputStream 到这里,两个明确确定完,就可以确定出要使用哪个体系。接原创 2016-04-28 13:05:38 · 2779 阅读 · 0 评论 -
Java---IO加强(2)
转换流★转换流功能1:充当字节流与字符流之间的桥梁需求:模拟英文聊天程序,要求: (1) 从键盘录入英文字符,每录一行就把它转成大写输出到控制台; (2) 保存聊天记录到字节流文件。要求1的设计分析:1)需要从键盘接收录入,得用System.in,它是字节输入流InputStream; 2)需要处理字符,可以自己把字节强转成字符,也可以用字符流; 3)需要类似readLi原创 2016-04-26 00:38:11 · 5387 阅读 · 0 评论 -
Java---练习:文件切割与合并(1)
实现对大文件的切割与合并。 按指定个数切(如把一个文件切成10份)或按指定大小切(如每份最大不超过10M),这两种方式都可以。示例程序说明: 文件切割:把一个文件切割成多个碎片,每个碎片的大小不超过1M。自己可把功能进一步扩展:切割前的文件名、长度,切割后的碎片个数、文件名等信息可写到第一个碎片中或另外用properties把这些写到配置文件中。 文件合并:这里简单假设已知被合并目录的File原创 2016-04-27 11:32:25 · 6533 阅读 · 0 评论 -
Java---练习(面试题) :字符串截取(1)
在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。 但对应的字节数不同,一个汉字占两个字节。 定义一个方法,按照指定的字节数来取子串。 如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃。如果取四个字节就是“ab你”,取五个字节还是“ab你”。上面给出的是在gbk编码下的截取字符串。 下面我写了个代码,可以在utf-8和gb原创 2016-04-27 00:07:43 · 10521 阅读 · 0 评论 -
Java---IO加强(1)
RandomAccessFile★随机访问文件,自身具备读写的方法。new RandomAccessFile()之后,若文件不存在会自动创建,存在则不创建。——该类其实内部既封装了字节输入流,又封装了字节输出流。 该类若用write()方法写整数,每次只写它的最后一个字节。而采用writeInt()方法,则可把一个整数完整地写入。 ★通过skipBytes(int x),seek(int x)来达原创 2016-04-22 12:35:35 · 3151 阅读 · 0 评论 -
Java---练习(面试题) :字符串截取(2-最终版)
在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。 但对应的字节数不同,一个汉字占两个字节。 定义一个方法,按照指定的字节数来取子串。 如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃。如果取四个字节就是“ab你”,取五个字节还是“ab你”。上面给出的是在gbk编码下的截取字符串。 下面我写了个代码,可以在utf-原创 2016-04-28 13:49:00 · 3770 阅读 · 0 评论 -
Java---常用基础面试知识点
综合网上的一点资源,给大家整理了一些Java常用的基础面试知识点,希望能帮助到刚开始学习或正在学习的学员。1、抽象抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2、继承继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方原创 2016-04-28 20:47:42 · 5098 阅读 · 0 评论 -
Java---网络编程(4)-C/S-B/S
C/S 与 B/S☆ C/S ( Client/Server ) 客户端和服务端的特点1、客户端和服务端的软件都需要程序员进行编写。 2、客户端维护起来较为麻烦。(缺陷) 3、客户端的存在可以将一部分运算分离到客户端来运行,减轻了服务器端的压力。(优势)☆ B/S ( Browse/Server ) 浏览器和服务端的特点1、客户端不用程序员编写,直接使用系统中具备的浏览器软件作原创 2016-05-12 00:02:26 · 9773 阅读 · 0 评论 -
Java---类反射(2)---类反射加强
经过前面的一篇博客,Java—类反射(1),相信大家对类反射有了一定的了解了。 下面来进行对类反射的加强,了解一下怎么通过类反射去new一个对象, 怎么通过类反射去访问其他类的方法。 怎么通过类反射去访问其他类的成员变量。大家也许认为一个类的私有方法,私有的成员变量是其他类访问不到。但是,类反射是可以通过暴力访问去访问的。还有:最后要模拟Java内省的功能类的调用(调用类中的成员)★ 构造类对原创 2016-05-02 16:13:10 · 6070 阅读 · 0 评论 -
Java---类反射(1)---类反射入门和基础
什么是类反射☆什么是反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射(Reflection)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查, 也称自审,并能直接操作程序的内部属性。例如,使用它能获得Java原创 2016-05-01 15:21:39 · 6899 阅读 · 0 评论 -
Java---对象与类的封装
一、类和对象:package cn.hncu.Myclasslearn;/** * * @author hncu_chx * * Mylove amin *//**类是一种数据类型,声明一个类就是定义了一个数据类型。 类的实例(instance)是类的取值,对象就是类的变量,一个对象能引用一个实例, 就像一个int变量i能够保存int类型的一个常数。 声明对象原创 2015-12-15 13:49:58 · 1921 阅读 · 0 评论 -
Java---JUnita、注解与类加载器详解以及实例
JUnit软件测试技术(工具)在项目中建立专门用户测试的包结构。 在Junit中,通过@Test注解,可以运行一个方法。★ Junit注解说明使用了@Test注解应该满足以下条件: 1) 必须是无参数的非静态方法。 2) 添加@Test注解的类,必须拥有一个无参数的公开构造★ JUnit测试示例演示1、运行完成后,可以在Junit的窗口上看到运行所用的时间和结果信息。 2、被原创 2016-05-04 17:13:25 · 5585 阅读 · 0 评论 -
Java---注解、类加载器-加强-实现运行任意目录下class中加了@MyTest的空参方法
做自己的类加载器 虚拟机的核心是通过类加载器来加载.class文件,然后进行相应的解析执行。那么我们可以自己做类加载器,手动加载需要的.class以进行解析执行,从而扩展虚拟机的功能。 以下内容摘自API文档:应用程序需要实现 ClassLoader 的子类,以扩展 Java 虚拟机动态加载类的方式。网络类加载器子类必须定义方法 findClass 和 loadClassData,以实现从网络加载类原创 2016-05-06 17:38:42 · 12974 阅读 · 0 评论 -
Java---获得系统窗口的分辨率
//获得系统屏幕分辨率//得到当前屏幕的分辨率:Toolkit.getDafaultToolkit().getScreenSize()Toolkit t = Toolkit.getDefaultToolkit() ;Dimension size=t.getScreenSize(); //如果系统屏幕分辨率是1024*768时,//size.getWidth()的值为1024//size.g原创 2016-05-06 18:34:07 · 4784 阅读 · 0 评论 -
Java---实现运行任意目录下class中加了@MyTest的空参方法(实现图形界面)
说明:因为上个代码,总是要输入完整的绝对路径,比较麻烦,于是,就写了这个小程序,直接进入文件对话框选择需要运行的class文件。只需要提前输入完整的类名。测试的类:package cn.hncu.myJuniitApp;import cn.hncu.myJuniitApp.vo.MyTest;public class MyJunitTest { public void run1(){原创 2016-05-06 19:51:40 · 10188 阅读 · 0 评论 -
log4j-使用详解与Java的实例应用
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】log4j介绍Log4j,具体的我就不去拷贝官网的介绍了,大家只要知道这是帮助我们记录日志的就可以了。作用就是这2个: 1、跟踪代码的运行轨迹。 2、输出调试信息很简单,但是真的很实用的一个工具!不需要很深入的去了解,但是必须知道如何使用,如何通过Log4j去记录日志,这是必须的!原创 2016-08-23 11:37:28 · 8499 阅读 · 0 评论