自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 AES加密解密工具类

package com.gwx.www.test;import javax.crypto.*;import javax.crypto.spec.SecretKeySpec;import java.security.InvalidKeyException;import java.security.Key;import java.security.NoSuchAlgorithmExcept...

2019-08-07 09:38:55 145

原创 完美的获取汉字拼音首字母

需要导入pinyin4j.jar,目前只有一个缺点,不能区分多音字,例如“重庆”,不做单独处理会显示“zq”。package com.gwx.www.utils;import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import ne...

2019-07-17 14:54:05 511

原创 swing窗口编程-实现一个计算器

目录介绍效果展示绘制窗口使用的组件事件监听计算器的简单算法采用的设计模式代码介绍简单的说说这个小程序的难点,第一是窗口的绘制,第二是事件的添加,第三是计算使用的算法,这里要用到栈的特点。效果展示这个计算器可以实现n多个数字的加减乘除运算绘制窗口使用的组件JFrame:用来画窗口JPanel:用来盛放组件JTextArea:文字域组件,用来显示算式和结果JButton:按钮组件...

2019-06-21 22:08:33 743

原创 Java之模拟人生(一)小明上机

学习面向对象编程和Java设计模式的过程中,为了增强学习的趣味性,我突发奇想:Java思想十分符合生活哲学,如果使用Java程序来描述世间万物,不仅能加强记忆,还能锻炼对编程的架构能力。于是,《Java之模拟人生》系列博文就诞生了。package com.gwx.www.classrelation.studentusercomputerinroom;/** * 测试类 * 2019/...

2019-05-10 15:00:30 977

原创 Java读写文件

目录需求代码需求有个100万行的错误日志,且异常信息种类不多,但是重复的比较多,要求统计具体方法在哪种异常信息出现了多少次。因为某种异常中可能出现这个方法,也可能不出现,所以利用notepad++统计就不好使了,思来想去只有利用文件读写操作,来解决这个问题了。代码日志文件中每一个异常开头都是日期,格式为YYYY-MM-DD,所以决定利用日期来分割异常,代码如下。public class ...

2019-04-30 18:04:36 107

原创 Java设计所遵循的准则

1 类的关系1.1一般关系主要是体现类的继承和实现1.2关联关系类之间是平级关系1.3聚合关系整体和部分的关系1.4合成关系比聚合关系强,整体对部分对象负责,掌管生命周期1.5依赖关系依赖总是单向的,关联可以是双向的,依赖的一方的属性不为被依赖的类。2 抽象类设计原则一个设计者应力图遵循这些原则具体类不是用来继承的抽象类应该有尽可能多的共同代码抽象类应该...

2019-03-30 19:24:22 178

原创 顺序存储结构线性表的各种算法(不定时补充)

顺序存储结构线性表的各种算法一、删除操作1、删除第i个元素开始的k个元素一、删除操作虽说顺序存储结构不适合删除操作,但是有时候为了追求时间复杂度和空间复杂度最优,还是颇有难度。1、删除第i个元素开始的k个元素在这里插入代码片...

2019-03-28 13:35:33 475

原创 远程安装Oracle数据库并使用PLSQLDev远程连接的流程图

关键的流程图,细节自行百度配置文件在 network\admin 下创建 tnsnames.oRA文件,里面写入以下内容自定义连接名 =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 远程服务器IP地址 )(PORT = 1521)) ) (CONNECT_DATA =...

2019-03-26 11:41:47 150

原创 windows下PHP开发环境的搭建

1 下载Apache可以选择msi格式的安装,也可选择zip压缩包。下载链接 现在主要有2.2和2.4两个版本,要注意的是不同的版本支持的PHP版本不同。2.2可以支持PHP5.3和PHP5.4,2.4支持较新的版本,这可以同过PHP依赖的VC的版本来推测。2 下载PHP压缩包下载链接 需要注意的是每个版本的PHP分为两种Not Thead Safe和Thead Safe。这里前者搭配II

2017-10-20 17:38:43 205

原创 eclipse创建maven工程pom出错的问题的解决

前言使用eclipse创建Web maven工程,为了获取工程项目的结构的完整,一般喜欢跳过原形选项,如下图。 由于IDE的缘故,pom文件会出现错误,这是因为创建的工程缺少web.xml文件,如下图。 如何自动的添加web.xml文件网上有很多解决方案,这里有种简便的方式,可以快捷的解决,如下图(点击后变灰色)。 可以看到webapp下有web.xml文件了。好处避免手动添加导致的T

2017-08-27 18:59:10 1205

原创 Spring MVC初体验

依赖的jar包commons-logging-1.2.jarspring-aop-4.2.4.RELEASE.jarspring-beans-4.2.4.RELEASE.jarspring-context-4.2.4.RELEASE.jarspring-core-4.2.4.RELEASE.jarspring-expression-4.2.4.RELEASE.jarspring-web

2017-04-19 11:00:10 276 5

原创 使用cxf框架搭建基于Spring远程调用Web服务

准备cxf框架和Spring框架所用的jar包需要准备好。步骤创建一个接口,接口上必须要加上Web远程调用的注解——@WebService@WebServicepublic interface ServerInterface { public [参数类型] MethodName([参数类型] [参数名],...); ...}创建一个实现接口的类public class ServerI

2017-03-29 16:38:24 403 7

原创 通用型分页实体的实现

实现方式一package com.gwx.entity;import java.util.List;/** * 作者:Alvin * 日期:2017年3月6日 * 时间:上午12:02:49 * @param <T> */public class PageBean<T> { private Integer currentPage; private Integer total

2017-03-28 23:00:09 360

原创 Spring面向切面编程

概述传统的面向切面编程,是通过动态代理的模式,底层使用反射。但是这种方式,代码写死了,想要更改功能,就得更改源码。而Spring给我们提供了非常好的解决方案,通过配置XML文件,实现切面功能的可插拔,也就是说,我们不用管代码,只需要更改配置文件就能实现功能的扩展。别的不多说,直接进入主题。增强类package com.gwx.aspect;/** * 作者:Alvin * 日期:2017年2月

2017-02-28 11:37:48 252

原创 servlet实现文件的上传

前端准备form表单的enctype属性值要设置成multipart/form-data(多部表单提交) 多部表单提交有一个特点,可以把文件里面的内容也发送到请求体中,每一个表单项用若干个“-”+数字隔开。如下 form表单的method属性值必须是post 因为get提交数据的大小是有限制的,上传的文件过大就尴尬了。而post提交没有数据大小的限制。前端页面<%@ page langu

2017-02-22 20:24:38 242

原创 事务

概述事务的概念事务是访问并可能更新数据库中各种数据项的一个程序执行单元。事务的特点原子性:一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。持

2017-01-09 21:23:43 512

原创 如何自定义跳转页面

Tomcat子代的错误页面太难看了,开发中我们可能要重写一下。这里有两种方式可以实现。第一种方式在web.xml中配置error-page标签发生错误的页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//

2017-01-04 17:30:50 438

原创 Servlet实现文件下载

目标把项目文件config下的new.zip给下载下来目录结构java代码public class DownServletextends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExceptio

2016-12-29 23:43:50 360

原创 Servlet实现简单的验证码

HTML代码<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body> <input type="text"> <img alt="图片无法显示" id="imgId" src="/day14/VerifyServlet" onclick="c

2016-12-29 21:45:35 4313

原创 数据库连接池

概述为什么要使用数据库连接池?数据库频繁的连接和关闭连接会占用不少资源,为了减少对资源的消耗,采用数据库连接池,可以重复的使用一个连接,而不是再建立新的连接。 以DBCP连接池为例。准备 这四个是要导入项目的jar包,画红框的是DBCP连接池技术要用的jar包 DBCP下载链接 POOL下载链接代码测试类public class Test { public static void

2016-12-18 23:33:00 293

原创 DBUtils简单使用

菜鸟出道,斗胆写博,如有错误,欢迎指正。概述DBUtils封装了数据库的操作,简化了数据库操作的代码量。准备将DBUtils和JDBC的jar包导入到工程即可使用 DBUtils jar包下载链接 JDBC jar包下载链接 QueryRunner类常用的构造器public QueryRunner()public QueryRunner(DataSource ds)常用的方法// 查

2016-12-18 00:12:02 547

原创 Javascript原生动画效果的实现

概述JS框架越来越多,也越来越好用,如果了解了原生的JS动画的实现方式,能更好的有助于理解JS框架。这里介绍一种计时器。 setInterval(code, ms) 周期性的执行一段代码,前一个参数是周期执行的代码,后一个是循环的周期,单位毫秒。 clearInterval() 清除计时器。原理利用计时器的循环,对元素的样式进行操作,最后清除计时器。动

2016-12-16 23:36:08 572

转载 hashCode()和equals()重写

导读为生么要重写equals()?重写equals()后为什么要重写hashCode()?网上有很多优秀的博文,但是有很多讲的不是很明白?在阅览了无数博客后,挑选了两篇讲的严谨透彻的,希望能省去和我一样有疑惑的同学的一些麻烦。为什么重写hashCode()和equals()博客链接:这里写链接内容重写hashCode()和equals()的规则博客链接:这里写链接内容

2016-11-28 19:44:31 196

原创 JDBC连接数据库操作(三)

利用前两篇的知识,写一个综合的小案例,实现对数据库的增删查改。表的结构数据库名为day12表名为person 表有两列,列名分别是id和name代码import java.sql.ResultSet;import java.util.Scanner;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStat

2016-11-25 22:13:52 389

原创 JDBC连接数据库操作(二)

上篇讲了如何连接数据库,这篇讲述一下数据库的增删查改。准备工作操作数据库需要数据库语句,如果不了解,可以百度一下。这里把代码体现出来的基本语句列举出来,简单的说一下。插入数据:insert into [table_name]([field1],[field2]...) values([val1], [val2]...);更改数据:update [table_name] set [field]=[va

2016-11-25 21:55:27 287

原创 JDBC连接数据库操作(一)

准备工作下载安装好数据库——本文以MySql为例。下载mysql-connector-java-X.X.X-bin.jar——以5.1.22为例开发环境——myeclipse 2014导入jar包在项目文件下新建一个名为lib的文件夹,把jar包放进lib。单击鼠标右键——》Build Path——》Add to Build PathOK成功导入jar包。编程工作注册驱动 Clas

2016-11-24 23:28:05 264

原创 Java EE学习笔记之——流的操作规律

IO的操作种类繁多,怎么知道什么时候用那个呢?首先我们明确一个问题,读和写是对谁而言的。因为在input和output中,很容易就不知道是谁对谁了。 我一向喜欢把内存作为参考物,从内存中出去我就理解为output,进入内存我就理解为input。如果说你仔细看IO流的命名的时候也会发现,命名者也是吧内存作为参考物: OutputStream ----->输出流,从内存出去 Inpu

2016-11-19 22:31:27 426

原创 折半查找

直接上折半查找的思路图:第一种情况:数组中存在这个数第二种情况:数组中不存在这个数实现代码:public class Demo07 { public static void main(String[] args) { /* * 折半查找 */ int number = 1; //要查找的数字 int[] ar

2016-11-16 19:05:47 258

原创 选择排序

选择排序的原理:选择第一个元素,依次和后面的比较,满足某个条件,交换。选择第二个元素,重复上面的的过程。直到倒数第二个元素和末尾比较完毕。废话说完上图:观察规律:N(第几次选择) = Length(数组的长度) - 1M(比较的次数) = Length - N编程的思路:双重循环实现:外层控制选择第几个元素,内层控制比较的次数。代码实现:public class Demo06 {

2016-11-16 19:01:48 191

原创 冒泡排序

冒泡排序的原理:从第一个元素开始,与紧挨的下一个元素比较,如果满足某个条件,交换一下。然后让第二个元素与紧挨的下一个元素比较,直到紧邻的所有元素比较完毕。在这个过程中最值挪到了数组的尾端,第一次冒泡结束。开始第二次冒泡,重复上一次过程,由于上一次冒泡的最值已经挪到尾端,所以尾端的元素就不用参与比较。重复冒泡的过程,直到无法比较。上图看起来比较直观:观察一下这张图,这是一个长度为5的数组,冒泡了4次

2016-11-16 18:54:07 552

原创 Java EE学习笔记之——类的总结

普通的类:一个Java文件里面只能有public类。修饰符 class 类名 { 修饰符 属性 修饰符 方法}抽象类:如果类里面有抽象方法,那么这个类就是抽象类。什么是抽象方法?抽象方法就是没有 函数体的的方法。abstract class 类名 { 修饰符 属性 public abstract 返回类型 方法名(); }你会看到抽象类前面都有abstrac关键

2016-11-13 23:52:51 681

原创 Java EE学习笔记之——继承

继承的规则和特点:子类不能同时继承多个父类,但是子类可以多层继承父类(举个例子)。class Zu { String a = "呵呵呵呵";}class Fu extends Zu { String a = "哈哈哈哈";}class Zi extends Fu { String a = "嘿嘿嘿嘿";}父类可以被多个子类继承。子类有父类的的全部属性和方法。继承里

2016-11-13 23:45:47 295

原创 Java EE学习笔记之——构造代码块、静态代码块、构造方法、方法的区别

构造代码块:Class Demo { { 代码块 } }静态代码块:Class Demo { Static { 代码块 } }构造方法:Class Demo { Demo() { 代码块 } }方法:Class Demo { Void function() { 代码块 } }执行的优先级:静态代码块>构造代码块>构造方法>方法 注意:静态代码块只执行一次。 (举个

2016-11-13 23:34:13 274

原创 java EE学习之路——封装

封装的思想举一个栗子,我们用过电脑,往电脑里面输入信息(比如打字,点击鼠标···),你还用关心里面的原理么,从电脑往U盘拷贝东西,还用关心传输的细节么。明白了这个,你就理解了封装的思想。 封装的定义是(百度一下)——即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结

2016-11-11 21:55:34 264

原创 Java EE学习笔记之——局部变量和成员变量的区别

局部变量:就是方法中定义的变量或者{}中定义的变量。 成员变量:类中定义的属性变量。它们的区别:代码中的位置不同:局部变量在方法中或者在{}中。物理(内存)位置不同:局部变量存放在栈中,成员变量存放在堆中。存在周期不同:局部变量取决于在栈里的周期,成员变量取决于在堆里的周期。初始化赋值不同:局部变量初始化后需要赋值,成员变量初始化后默认赋值。

2016-11-11 21:20:01 268

原创 Tomcat虚拟主机的配置

第一种方法:修改server.xml文件首先找到目录结构:[Tomcat的安装路径]\Tomcat8\conf 其次打开server.xml,找到Host标签,在标签里面增加Context标签。 具体形式如下(文件自带的注释去掉): <Host name="localhost" appBase="webapps" unpackWARs="true" autoD

2016-11-06 13:54:30 1088

原创 Bootstrap框架的配置

Bootstrap是响应式设计的框架,想具体的了解自己百度。下面直接直接进入主题——Bootstrap开发的配置一、点击进入Bootstrap中文网 二、点击“Bootstrap中文文档” 三、点击“下载” 四、里面三个下载按钮,点击第一个就满足开发了,下载后解压。把里面三个文件复制到项目里面,覆盖原有的文件夹。如果不想下载Bootstrap框架,你也可以使用CND加速服务。五、由于Boots

2016-09-29 18:25:00 3458

转载 jQuery选择器

利用选择器,可以起到事半功倍的效果

2016-09-09 20:50:53 254

原创 下拉菜单的实现(三)

jQuery实现方式,效果如下:项目文件里记得导入jQuery文件,如果不导入jQuery文件,也可以引用第三方链接,这里我采用导入jQuery文件:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>我的空间</title> <link rel="stylesheet" href="cs

2016-09-05 18:28:12 232

原创 下拉菜单的实现(二)

这样的效果用JavaScript实现非常简单,主要用到onmouseover、onmouseout、function函数。具体的操作如下:HTML文件:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>我的空间</title> <link rel="stylesheet" href="c

2016-09-05 17:05:57 270

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除