java技术
海那边的小萌男
目前是学生党,热爱科技,喜欢编程,以及学习新的技术。目前在学习Java,以后应该会学习更多新的技术方面,未来会从事IT业。其他的比较喜欢金融,篮球。个人喜欢交朋友,玩啊,和大部分年轻人一样。
我是05后小鲜肉。
展开
-
表单验证
手机号码^(((1[0-9][0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(147))+\d{8})$ 手机号码输入有误 验证手机号码email^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$QQ号码^[1-9][1-9][0-9]$ ...原创 2018-05-10 15:31:01 · 290 阅读 · 0 评论 -
Java网络编程(一):利用Java技术读取网页做一个简单爬网页上邮箱的网络蜘蛛
原理很简单,把网页信息用In流导入,然后用正则表达式,判断是否为邮箱,是的话就记录下来。当然也可以爬其他东西,而且做得更复杂。就是有超链接,或者深层的要进去继续爬,就是搜索。我这里比较简单,只爬单独的网页。package cn.hncu.dage.Spider;import java.io.BufferedReader;import java.io.FileReader;import java.原创 2017-04-11 13:24:19 · 684 阅读 · 0 评论 -
类反射学习(二)JAVA开发框架底层思想演示,以及类反射的应用
类反射有什么用呢? 就是可以在实际项目中框架不变,通过改变配置文件,从而改变功能的调用。 简单来说: 保持接口,工厂方法,不变,新增实现类(功能)。通过读取配置文件。从而达到调用新功能的目的 接口: USB 就一个work() 函数public interface USB { public abstract void work();}实现类 有两个public class USBCa原创 2017-04-15 15:06:20 · 294 阅读 · 0 评论 -
类反射学习(三) JAVA如何利用类反射调用普通函数、访问成员成员变量
类反射有什么用呢? 今天学习了类反射的几个功能 1.通过类反射调用构造器 2.通过类反射调用普通函数 3.通过类反射访问成员变量以下以UserModel 为例子一.通过类反射调用构造器正常的我们想要调用构造器怎么用?//需要 1.拿到构造函数, 需要2.参数UserModel user = new UserModel("Jack",22);类反射也是如此,通过两大步骤 一步拿到构造函数原创 2017-04-16 20:19:18 · 485 阅读 · 0 评论 -
类反射学习(一)---Java类反射技术底层思想演示学习
什么是类反射呢? 我查了API对他的描述如下 Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void原创 2017-04-15 14:38:52 · 451 阅读 · 1 评论 -
Java开发必备技术Junit测试技术学习---源代码演示Junit
在java 测试中 主要是在以下几个 注解 的帮助下进行测试的@Test 是最常用的测试,@Test 注解的方法只会单独运行,比较方便 但是他有几个限制 1. ,@Test 注解的方法所在的类必须只能有一个空参的构造器(构造函数) 2. .,@Test 注解的方法 必须为非静态的 就是不能是 static 测试类中含有以下代码 3. @Test 注解的方法 里面也不能含有参数<原创 2017-04-18 12:46:32 · 348 阅读 · 0 评论 -
Java注解的学习---深入理解Java注解、自己写一个Java注解
什么是注解? Java中的注解就是Java源代码的元数据,也就是说注解是用来描述Java源代码的。 基本语法就是:@后面跟注解的名称。 ①Override:标识某一个方法是否正确覆盖了它的父类的方法。 ②Deprecated:表示已经不建议使用这个类成员了。 它是一个标记注解。 ③SuppressWarnings:用来抑制警告信息 等等。要更好的理解注解,我们可以自原创 2017-04-19 19:02:49 · 326 阅读 · 1 评论 -
HTML学习---网页编程(一)HTML基础概述。列表、文字等
前言☆静态页面和动态页面 网站页面分为静态页面和动态页面两种静态页面:有一个html页面文件保存在服务器上,浏览器要这个页面的时候服务器就把这个页面文件发给浏览器; 动态页面:服务器上没有浏览者要看的页面,而是服务器动态生成的HTML页面发给浏览器,动态语言的服务器端可以用C#、VB.Net、PHP、Java、C等编写。☆用HTML语言创作网页的说明 Web页面可采用超文本原创 2017-04-24 16:02:37 · 672 阅读 · 0 评论 -
HTML---网页编程(二)HTML基本属性、图像、框架和浏览器与服务器交互方式
表格HTML 里面有个很重要的属性就是表格, 使用表格基本能实现对页面元素在浏览器中随心所欲的排版定位。表格通常用来显示大量的、分类化的信息,具有表示清晰、明了的特点,使用十分广泛。 表格一般由以下几部分组成:表格名称、表格栏及表中数据。这是一对用来指明表格范围的标记,格式如下:<table> 表格全部内容</table>border属性使用表格的这一属性可以给表格加上框线原创 2017-04-25 11:46:05 · 1085 阅读 · 0 评论 -
JavaScript---基本语法学习(一)JavaScript概述、Java和JavaScript的区别、和HTML结合方式、数据类型、运算符和表达式
哈哈哈,开始学JavaScript了。。。 先讲讲历史吧。JavaScript 的历史故事 JavaScript是Netscape公司开发的,当时Netscape公司和开发Java的Sun公司有合作,开发JavaScript的时候,Sun公司也有参与,所以JavaScript和Java有些地方类似,但是和Java是两种不同的编程语言。前身LiveScript,可能改成JavaScript只是为原创 2017-04-26 13:38:23 · 1181 阅读 · 0 评论 -
网路编程(一)TCP/IP协议及URL类学习
网络模型 OSL参考模型和TCP/IP参考模型网络模型怎么来的呢? 计算机开始发明的时候,计算机之间要进行通信,A和B通信有AB他们两个之间的通信方式,C和D通信有CD他们两的通信方式,因为通信方式的不同,A和C就无法通信。这个时候OSL公司就出来了说,我们采用同一的通信方式吧,那么OSL参考模型就出来了。商业化之后一些大公司卖网卡给用户采用的是TCP/IP模型,TCP/IP是O原创 2017-04-04 13:56:48 · 529 阅读 · 0 评论 -
字符截取题目
题目 在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。 但对应的字节数不同,一个汉字占两个字节。 定义一个方法,按照指定的字节数来取子串。 如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃。 如果取四个字节就是“ab你”,取五个字节还是“ab你”。 仅考虑GBK和utf-8编原创 2017-04-04 13:09:46 · 326 阅读 · 0 评论 -
深入 理解Http协议、什么是B/S模式学习
HTTP协议是电脑与电脑之间通过网络传输的协议。所以为了更好的理解HTTP,我们就来模拟一个服务器,用浏览器发送请求,看看浏览器发来的消息是什么。 下面是一个模拟服务器的代码package cn.hncu.dage.BS;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStrea原创 2017-04-10 15:31:51 · 2632 阅读 · 0 评论 -
HDU 1157 JAVA
Who’s in the MiddleProblem Description FJ is surveying his herd to find the most average cow. He wants to know how much milk this ‘median’ cow gives: half of the cows give as much or more than原创 2017-05-25 12:14:41 · 248 阅读 · 0 评论 -
Spring四代AOP技术总结学习
一、什么是 AOPAOP(Aspect Orient Programming),也就是面向切面编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。二、AOP 的作用常常通过 AOP 来处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等,AOP 已经成为一种非常常用的解决方案。三、Spring 中对 AOP 的原创 2017-10-29 14:09:17 · 429 阅读 · 0 评论 -
垃圾回收机制
本篇博客知识点: 1.垃圾回收原理和算法 2.通用的分带垃圾回收机制 3.JVM调优和Full GC 4.常见的容易造成内存泄漏的操作1.垃圾回收的原理和算法内存管理Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放对象空间的分配:使用new关键字创建对象即可对象空间的释放:将对象赋值null即可,垃圾回收器负责回收所有”不可达”对象的内存空间垃圾回收的过程原创 2017-10-10 17:56:55 · 441 阅读 · 0 评论 -
Java类加载器的学习---底层类加载器思想以及自己写的类加载器
Java 类加载机制ava 虚拟机一般使用 Java 类的流程为:首先将开发者编写的 Java 源代码(.java 文件)编译成 Java 字节码(.class 文件),然后类加载器会读取这个 .class 文件,并转换成 java.lang.Class 的实例。有了该 Class 实例后,Java 虚拟机可以利用 newInstance 之类的方法创建其真正对象了。ClassLoader 是 Ja原创 2017-04-19 19:09:07 · 279 阅读 · 0 评论 -
如何用Java实现邮件发送?---- 网站通过邮箱激活底层代码
本篇博客知识点:1.简单的代码展示邮件发送2.实际演示3.网站中代码发邮箱的应用---通过邮箱激活账号包原创 2017-08-12 09:57:11 · 662 阅读 · 0 评论 -
数据库连接池:Dbcp和C3p0学习
本篇博客知识点1.演示Dbcp、C3p0获得数据库连接对象的两种方式 2.演示Dbcp、C3p0常用功能和区别 3.用Dbcp、C3p0完成一个数据库连接池的工具类 4.学习使用DBUtil工具类演示Dbcp、C3p0获得数据库连接对象的两种方式dbcp和c3p0普通方式连接数据库学习@Test public void demo1() throws Exception{原创 2017-08-03 15:47:46 · 559 阅读 · 0 评论 -
如何将对数据库两个表的操作处于用一个事物下?同一个连接对象+事物拦截
需求: 我要存储同时存储一个学生信息和这个学生购买的图书信息,当学生的信息存储失败了,图书信息也不存储了,反之也一样,当某本书的信息存储失败了,学生信息也不存储了。正常情况下,如果两个表的信息分开存储代码如下 所以我们可以看到两个表是否存储成功的信息没有办法传递,图书存储情况不知道学生信息存储情况。解决方法: 两个存储用同一个Connection对象。同时在Serivce事物层完成。 第原创 2017-08-02 15:52:11 · 4331 阅读 · 0 评论 -
过滤器(filter)学习---全站压缩实例
本篇博客知识点 1.理解过滤器 2.如何写过滤器 3.全站压缩实例理解过滤器过滤器,顾名思义就是用来过滤的—肯定是放在两个东西之间的,最常见的就是放在浏览器和服务器之间的—-Servlet 只要是客户端请求服务器内的所有网页,Servlet.等。中间都可以设置一个过滤器。如何写过滤器1.实现一个过滤器的接口public class GzipFilter implements Filter{2原创 2017-08-08 17:02:59 · 431 阅读 · 0 评论 -
如何将数据库的表导出生成Excel?
本篇博客知识点 1.如何通过元数据拿到数据库的信息? 2.如何用Java生成Excel表? 3.将数据库中的表导出生成Excel案例如何通过元数据拿到数据库的信息 元数据:描述数据的数据Java中使用元数据的两个方法DatabaseMetaData 通过连接可以拿到的信息:数据库软件,所有数据库名,所有数据库里面的表名,描述数据库的元数据ResultSetMetaData 拿到的表结原创 2017-08-01 16:47:14 · 15422 阅读 · 11 评论 -
Java代理模式学习---完成一个数据库连接池中的close方法拦截
本篇博客知识点 1.个人对代理模式的理解 2.代理模式: Proxy.newProxyInstance方法的讲解 3.拦截java.util.List方法 4.写一个通用的拦截工具类 5.完成数据库连接池 close方法的拦截 代理模式 代理模式本质上是利用java.lang.reflect.Proxy类中的一个静态方法: newProxyInstance(ClassLoader原创 2017-07-31 16:49:19 · 851 阅读 · 0 评论 -
Java程序执行流程分析
刚刚在复习JavaSE, 正好复习到 程序执行流程,所以写下这篇博客记录下 问题:一下这段代码的执行顺序public class Test { private String name="Jack"; private int age=2; public Test( ) { age=1000; //期望能到1000年 } public stat原创 2017-07-03 00:17:51 · 1597 阅读 · 0 评论 -
多线程加强(三)线程死锁的两种情况及解决办法
第一种情况: 多个线程共享同一资源,并且某一线程内又调度其他线程,让其他线程先运行。矛盾在于 A 线程 拿到资源锁运行中让线程B运行,线程B 运行需要资源锁。而锁在线程A 中,从而引起的互相等待。 线程A:package cn.hncu.thread.deadLock.v1;public class ThreadA implements Runnable{ private S s = nu原创 2017-03-27 13:48:08 · 613 阅读 · 0 评论 -
多线程加强(二) 线程协作技术: 互斥 + pv操作(信号量 + notify,wait)
线程A ,线程B。 线程A 是负责往容器里面放东西,线程B 负责往容器取东西。。要求 线程A 上次放的东西 被取走后才继续放,否则不放。如何实现线程A,B之间高效合作呢? 不使用线程调度时 容器 package cn.hncu.thread.cooperate.v1;public class Buffer { private int value;//共享变量 publ原创 2017-03-27 13:32:42 · 293 阅读 · 0 评论 -
死磕 Java 并发 : 深入分析 volatile 的实现原理
这是我再微信公众号看到,觉得很不错,最近正好也加强了线程和死锁。 通过《 死磕Java并发:深入分析synchronized的实现原理 》我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的volatile则是轻量级的synchronized。如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调转载 2017-04-03 15:36:07 · 379 阅读 · 0 评论 -
IO流加强(一)RandomAccessFile类的学习
RandomAccessFile类: 在底层既封装了in流,又封装了out流(流都是单向的) 创建对象的时候给的两个参数:一个是file 一个是模式 r(只读模式) rw(读写模式) rws(读写加同步到设备) rwd(读写加同步到设备) io流细节1:流都是单向的 io流细节2:IO流都会有一个游标,表示读/写到某个位置了。接下来就是继续对着这个游标操作正常的 我们用OutputStre原创 2017-03-29 12:33:06 · 215 阅读 · 0 评论 -
设计模式(装饰设计模式)
应用场景:在不对原有对象类进行修改的基础上,给一个或多个已有的类对象提供增强额外的功能. 我觉得可以从字面理解,装饰,装饰房子。房子可以看成原有的类。等于你把一个已经建好的房子按照自己的想法再装饰一遍。继承也可以实现这样的功能,但是继承有它的缺点,继承只是单一继承。装饰设计模式可以取多个不同的类的不同功能。具体步骤◎第1步:通过构造传参把需要加强的类传过来。(你要装修房子,肯定的先有房子吧。这原创 2017-03-07 11:40:25 · 967 阅读 · 0 评论 -
设计模式(值对象)
应用场景:在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值,该如何能更好的进行数据的交互?这个时候就需要用到我们的值对象设计模式值对象的本质是“封装数据具体步骤: 1. 所写的类必须实现序列化Serializable(序列化是为了防止数据读取的时候数据丢失)。 同时主要这个类的命名规范。值对象的命名规范: XxxValueObject, XxxVO, Xx原创 2017-03-07 11:06:19 · 954 阅读 · 0 评论 -
设计模式(工厂方法)
工厂模式:我觉得工厂模式就是第三方模式。当客户端需要实现某些功能时,根据前面讲到的 依赖接口编程原则和不能依赖实现类编程。所以现在就出现一个问题,我需要调用实现类的功能,我又不能直接调用,那我怎么办? 只能通过第三方工厂模式来帮忙调用。那么接口是干什么的?我觉得接口就是用来说明 有那些功能你是可以实现的。当我们具体要用的时候就去找工厂方法。下面是代码实例接口public interface Book原创 2017-03-05 21:00:17 · 252 阅读 · 0 评论 -
设计模式(多例)
多例:单例设计模式的变形,可以看成是一个缓存池的单例,而缓存池里面可以存多个数据//单例+缓存---没有控制池大小public class A { //1创建一个单例的池(private即把池封装成单例了) private static Map<String, A> pool = new HashMap<String, A>(); //池--集合: Map:key-value原创 2017-03-05 20:52:39 · 238 阅读 · 0 评论 -
设计模式(单例)
设计模式思想什么是设计模式:我作为初学者,今天第一次正式学习设计模式,我觉得对与理解什么是设计模式很重要,那么什么是设计模式呢? 设计模式:解决问题的一种行之有效的思想。 设计模式:用于解决特定环境下、重复出现的特定问题的解决方案 我的理解是前人在软件设计的时候碰到了一类问题,他们总结出了一套行之有效,并且经过验证的解决方案。设计模式的优点: 1、设计模式都是一些相对优秀的解决方案,原创 2017-03-05 20:29:50 · 218 阅读 · 0 评论 -
HDU 2014 JAVA
Problem Description 青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。Input 输入数据有多组,每组占一行,每行的第一个数是n(2import java.util.*;class Main{ public static void main(String args[]){ Scanner原创 2017-03-05 09:22:21 · 252 阅读 · 0 评论 -
书店管理系统---Book模块(JavaSE综合运用(四))
哈哈哈,经过几天的学习我把Book模块(和User差不多但是还是化了很多时间,毕竟初学者嘛)搞定了,还学会把uuid(编号) 变成电脑自己添加了。 先说上图看看Book的样子 老规矩,先写VO,值对象(因为后面的表现层/逻辑层/DAO层都会用到所以先写) 先看设计图 BookVOpackage cn.hncu.bookStore.book.v原创 2017-03-17 15:57:52 · 850 阅读 · 0 评论 -
设计模式(DAO)
应用场景:在Java程序中,经常需要把数据持久化,也需要获取持久化的数据,但是在进行数据持久化的过程中面临诸多问题(如:数据源不同、存储类型不同、供应商不同、访问方式不同等等),请问如何能以统一的接口进行数据持久化的操作?其实这个我没学号(≧ ﹏ ≦)。我的理解就是一个产品面向的用户不是单一的,所以我们要兼容许多情况如前面提到的数据源不同、存储类型不同、供应商不同、访问方式不同等等。★ 解决方案原创 2017-03-08 08:58:50 · 228 阅读 · 0 评论 -
项目设计思想学习
老师在给我们讲设计思想的时候第一句话就是 ”* 设计思想,是需要不断领悟的。。。*“ 一.项目框架结构大概是这样的大概是这样的,先在一个大的系统,下面分许多子系统,子系统后面分很多模块,模块又分为很多组件。 (组件是一个能完成一定功能的封装体)当然,有时候一个模块或者子系统也可以看成一个大系统里面的组件。没有绝对的规定之类的,只是一个层次关系。原创 2017-03-04 14:39:34 · 672 阅读 · 0 评论 -
JAVA--三层架构学习
JAVA–三层架构学习,我的地址本管理项目学生党,正在学习,第一次写博客,许多写的不好的地方请多多指教,一定虚心学习:我对三层架构,MVC框架的理解。三层架构,即是把一个大的项目分为.表现层、逻辑层和数据层原创 2017-03-02 08:53:49 · 602 阅读 · 0 评论 -
IO流加强(二)字符流不添加缓存以及两种添加缓存的速度比较
不加缓存 // @Test public void Demo1() throws IOException{ long t1 = System.currentTimeMillis(); DataInputStream din = new DataInputStream(原创 2017-03-29 12:42:04 · 283 阅读 · 0 评论 -
IO加强(三)转换流学习
为了解决编码问题,我们在写入的时候用的指定编码写,然后读的时候就知道原来的编码。可以避免编码问题。也不需要考虑系统的编码。 转换流: * 1)数据转换 InputStreamReader: 该类本身是字符(Reader)系列, 功能:能够把字节输入流转换成字符输入流 OutputStreamWriter: 该类本身是字符(Writer)系列, 功能:能够把字符输出流原创 2017-03-29 12:45:59 · 222 阅读 · 0 评论