自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 个人博客系统项目总结

简介在学习JavaSE及JavaWeb过程中,为了能够熟练运用自己所掌握的知识并将其融会贯通,因此搭建了一款个人博客系统来检验自己的能力以及对知识的掌握。我们实现的功能有以下几个:客户端和服务端的业务逻辑如下:使用技术:客户端:使用JSP,JavaScript,CSS,JQuery,Bootstrap作为客户端页面开发UEditor富文本编辑器前端插件服务端:Servl...

2019-09-01 13:44:21 8719 1

原创 Java实现收银台系统

项目总结:1.简介:该系统是一款基于字符界面的收银台系统,实现了商品管理,浏览支付订单等功能。2.实现要求:掌握了JavaSE的基本知识,以及掌握了MySQL数据库,JDBC编程等知识并且能够熟练使用融会贯通。在本次项目中我们使用DataSource连接数据库DataSource连接数据库我们使用PrepareStatement而放弃使用Statement的原因:PrepareSt...

2019-08-25 18:14:50 4979

原创 shardingJdbc配置

概念shardingJdbc:分库分表中间件,Sharding-JDBC是当当开源的数据库水平切分的中间件,其代表了客户端类的分库分表技术框架(这一点与MyCat不同,MyCat本质上是一种数据库代理)。Sharding-JDBC定位为轻量级数据库驱动,由客户端直连数据库,以jar包形式提供服务,未使用中间层,无需额外部署,无其他依赖,业务系统开发人员与数据库运维人员无需改变原有的开发与运维方式。因此Sharding-JDBC即为增强版的JDBC驱动,可以实现旧代码迁移零成本的目标。maven<

2021-08-25 15:02:57 1859 1

原创 项目总结-定义Servlet请求接口

在我们的项目中,我们创建各种Servlet请求接口来对应的实现我们的业务逻辑:文章列表文章详情新增文章修改文章删除文章以上Servlet在处理request和response响应时有以下要求:需要设置编码格式需要将返回数据格式设置为我们预定好的格式按照统一的方法处理异常基于以上需求,我们选择模板设计模式,创建统一的父类,完成以上功能的封装创建该抽象父类:需要继承Htt...

2019-08-28 18:05:30 547 1

原创 使用非模板设计模式实现业务逻辑

package com.jerome.servlet;import com.jerome.db.DBManager;import com.jerome.po.Article;import com.jerome.po.JSON;import com.jerome.util.JSONUtil;import javax.servlet.ServletException;import ja...

2019-08-27 22:29:44 190

原创 DataSource连接数据库

使用单例模式来创建一个数据库连接对象。package com.jerome.dao;import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;import java.io.BufferedReader;import java.io.IOException;import java....

2019-08-25 18:08:15 2506

原创 PrepareStatement和Statement的区别

PrepareStatement和Statement的区别PrepareStatement继承与Statement,包含execute()、 executeQuery() 和 executeUpdate()三种方法1.PrepareStatement实例包含已经编译的SQL语句,会将SQL语句进行预编译,所以执行速度比Statement高。prepareStatment事先对语句进行预处理...

2019-08-25 18:03:17 5223

原创 功能实现

我们以浏览商品作为示例来展示操作流程:1.执行excute()方法 :package com.jerome.cmd.impl.goods;import com.jerome.cmd.annotation.AdminCommand;import com.jerome.cmd.annotation.CommandMeta;import com.jerome.cmd.annotation.C...

2019-08-25 17:47:13 1078 5

原创 通过反射将命令分类到不同的Map

package com.jerome.cmd.impl;import com.jerome.cmd.annotation.AdminCommand;import com.jerome.cmd.annotation.CommandMeta;import com.jerome.cmd.annotation.CustomerCommand;import com.jerome.cmd.annot...

2019-08-25 17:22:17 207

原创 理解Cookie和Session的区别

一:理解HTTP协议是一种无状态的协议为什么说HTTP是一种无状态的协议呢?因为HTTP不会为了下一次的连接而维护本次连接所传输的信息。这是为了保证服务器的内存。同样的,也就是说HTTP协议没有在下一次传输之前得到本次传输的信息的能力。无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系。H...

2019-08-13 01:12:46 151

原创 基于Jsp+Servlet+JavaBean+mysql实现的简单的登录功能

不积硅步无以成千里

2019-08-10 00:02:22 3985

原创 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

在使用Jsp+servlet+JavaBean模式实现一个简单登录功能的时候碰见上述错误!java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275) a...

2019-08-09 13:21:21 545

原创 Java垃圾回收算法

Java垃圾回收算法关于Java垃圾回收的目的和时间GC算法总体概述:JVM在进行GC时,并非每次都对上面三个内存区域一起回收,大部分时候回收的区域都是只新生代。因此GC按照回收的区域又分了两种类型,一种时普通的GC(Minor GC),一种是全局GC(Major GC或者Full GC)。普通GC(Minor GC):只针对新生代区域的GC,全局GC(Major GC或者Full GC...

2019-08-05 01:12:30 202

原创 关于nextInt(),next()等和nextLine()的误区

Scanner:在API中是这样子解释的:一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。Scanner是我们从键盘输入最常用的类。Scanner分隔符模式将输入打破到令牌,默认情况下匹配空格。 然后可以使用各种next方法将得到的令牌转换成不同类型的值。nextInt()和nextLine()的区别:看接下来一段代码:public class Test1 { ...

2019-07-30 02:01:33 225

原创 Java冒泡排序及其简单优化

冒泡排序思想:冒泡排序(Bubble Sort)的基本思想是,通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,如果发现逆序则交换,数值较大的元素逐渐从前面移动到后面。冒泡排序图解:代码:import java.util.Arrays;/** * Created with InteIIiJ IDEA. * Description: * User: * ...

2019-07-23 01:53:15 130

原创 数值的整数次方——《剑指offer》

题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。public class Solution { public double Power(double base, int exponent) { }}代码:public class Solution { public double...

2019-07-22 23:19:48 100

原创 栈的压入,弹出序列——《剑指offer》

题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)。import java.util.ArrayList;public class...

2019-07-22 23:01:57 107

原创 final,finally,finalize的区别

final:Java的关键字,可以用来修饰类,方法,变量,分别有不同的意义,final修饰的class代表不可以继承扩展,final修饰的变量也是不可以被修改的,而final修饰的方法也是不可以重写的(override)。finally:Java保证重点代码一定会被执行的一种机制。使用try-finally或者try-catch-finally来进行类似关闭JDBC连接,保证unlock锁等动...

2019-07-21 00:19:00 115

原创 DNA序列

一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。输入:输入一个string型基因序列,和int...

2019-07-20 18:02:12 1438

原创 Java快速排序

快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。总的来说,快速排序的思想可以分为以下三步:1. 从待排序元素序列中选取一个数作为基准(一般情况下我们会选取...

2019-07-18 01:41:46 124

原创 组个最小数

给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔...

2019-07-16 16:00:19 137

原创 跟奥巴马一起编程

在屏幕上画一个正方形:输入:输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。输出:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。import java.util.Scanner;/** * Created with InteIIiJ...

2019-07-15 13:01:25 164

原创 替换空格

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码: public static String function(StringBuffer string){ String str = string.toString(); String str1 ...

2019-07-13 22:43:12 84

原创 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解决方法:方法一: public static boolean function(int a,int[][]array){ for (int i = 0; i < array...

2019-07-13 22:41:40 81

原创 Java中垃圾回收的目的?什么时候进行?

垃圾回收:垃圾回收是在内存中中存在没有引用的对象或超过作用域的对象时进行垃圾回收,垃圾回收的目的是识别并且丢弃不再使用的对象来释放和重用资源。目的:回收堆中不再使用的对象,释放资源。回收时间:当对象失去引用后,系统会在合适的时间回收它所占的内存。回收时间即出发GC的时间。在新生代的Eden区满了会触发新生代GC(MiMor GC),经过多次触发新生代GC存活下来的对象就会升级到老年代,...

2019-07-12 21:06:08 2927

原创 HashMap和HashTable的区别;

HashMap和Hashtable的区别HashMap和Hashtable都实现了Map接口,很多特性非常相似,有以下不同点:HashMap允许键和值是null,Hashtable不允许键或者值是nullHashtable是同步的,HashMap不是Hashtable内部很多方法被Synchronized关键字修饰 public synchronized int s...

2019-07-12 20:56:33 122

原创 求最大公约数和最小公倍数

求最小公倍数:先求出最大公约数,两数乘积除最大公约数就是最小公倍数。求最大公约数? * 1.辗转相除法 * 2.辗转相减法 * 3.穷举法代码://辗转相除法求最大公约数 public static int function1(int a, int b) { int num = 0; while (a % b != 0) {...

2019-07-08 11:07:01 665

原创 深入了解Java单例模式

一:单例模式:Java中的一种设计模式。顾名思义:所谓单例模式就是只能产生一个实例化对象的一种模式。这一模式的目的是为了类中产生的一个对象成为整个系统的唯一一个对象。二:单例模式的特点:1.这个类只能有一个实例2这个类必须自己创建自己的唯一实例3.这个类必须给所有其他对象提供这一对象实例。三:单例模式的实现:思想:1.提供一个私有的构造方法,确保在类的外部无法产生实例化对...

2019-07-03 15:32:49 194

原创 java的JDBC编程

一:java的JDBC编程1.JDBC(Java DataBase Connectivity(java数据库连接))是java访问数据库的基本方式。2.JDBC是一种用于执行sql语句的Java API,它由一组用Java编程语言编写的类和接口组成。3.由以下两个包中的类和接口组成:它为数据库开发人员提供了一个标准的API,使它们能够用纯Java API 来编写数据库应用程序。import...

2019-06-25 16:14:02 210 1

原创 java深拷贝和浅拷贝

一:java中要想使对象具有拷贝的功能,必须实现Cloneable接口(Cloneable接口是一个标识接口,标识这个类可以被clone),并且在类中自定义clone调用Object类提供的继承权限clone方法。public interface Cloneable {}只有子类实现了Cloneable接口后才可以使用Object类提供的clone方法。protected native...

2019-06-22 15:26:13 120

原创 foreach循环

foreach循环:格式;for(数据类型 临时变量 :数组(集合)){//循环次数为数组长度,每次循环都会顺序取出一个元素赋值给临时变量,无须使用索引来取数据}public class TestDemo2 { public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; ...

2019-05-07 16:46:07 89

原创 Java中的可变参数

可变参数:1.定义方法时并不能确定要定义几个参数时可以考虑使用可变参数2.格式:[参数类型 … 参数名称]3.参数中使用的…实际上表示一个数组结构,可以使用for循环来遍历4.如果方法中要传递多类参数,可变参数一定要放在最后面//使用可变参数实现任意参数的整数的相加结果public class TestDemo1 { //...表示一个数组结构 public stati...

2019-05-07 15:50:45 135

原创 约瑟夫环问题

约瑟夫环问题:假设有n个人围成一圈,顺序排号,从第一个人开始报数,(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位。假设有A—K十一个人,从A开始报数,报到三的人出列,求最后一个留下来的人。×表示此人推出队列。代码实现:public class TextDemo1 { //假设有n个人参与游戏 public static int function...

2019-04-19 17:36:28 167

原创 抽象类和接口的区别

抽象类和接口的区别1.结构组成:抽象类由普通类和抽象方法组成,接口由抽象方法和全局常量组成,没有已经实现的方法2.权限:抽象类中拥有各种权限,接口中只能有public3.子类使用:抽象类使用extends关键字继承抽象类,接口中使用implments关键字实现接口4.关系:一个抽象类可以实现若干个接口,接口不能继承抽象类,接口可以使用extends关键字继承多个父接口5.子类限制:抽象类...

2019-04-18 18:10:34 160

原创 java设计模式(单例设计模式)

单例设计模式:所谓的单例设计模式指的是一个类只允许产生一个实例化对象。简单例子程序:class Text { public void print() { System.out.println("Hello World"); }}public class TextDemo1 { public static void main(String[] arg...

2019-04-17 19:06:10 173

原创 时间复杂度和空间复杂度及顺序表基础知识

时间复杂度:一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。时间复杂度的表示使用大O的渐进表示法:1、用常数1取代运行时间中的所有加法常数。2、在修改后的运行次数函数中,只保留最高阶项。3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。空间复杂度:空间复杂度是对一个算法在运行过程中临时占用存储空间大小的...

2019-04-16 16:46:47 4522

原创 java字符串相关练习题

1、字符串转化(压缩) “aabbccdaa” -> “a2b2c2d1a2”public class TextDemo1 { public static String stringComPress(String str){ char[] array = str.toCharArray();//将字符串转换为字符数组 StringBuilder ...

2019-04-16 14:46:30 1873

原创 java三大特殊类知识总结

String类:1.直接赋值:存放再常量池中,常量池中相同的字符串只有一份。可以使用.intern()方法进行手动入池。2.构造法:使用关键字new进行对象实例化字符串的比较:==本身是进行数值比较的,如果用于对象比较,比较的是两个对象所保存的内存地址,而并不是对象的内容。进行对象内容比较使用String类提供的equals方法。匿名对象白存在堆内存中。字符串一旦定义,不可改变。...

2019-04-16 14:37:36 154

原创 接口和工厂设计模式相关知识总结

接口就是抽象方法和全局常量的集合接口的出现解决了Java单继承的问题1.定义接口使用关键字interface,接口的名称使用I表示public interface INews{ void getNews();}2.接口中定义的方法默认为抽象方法public abstaract定义的数据属性默认为public static finalpublic interface IMe...

2019-04-14 22:21:18 225

原创 抽象类模板设计模式相关知识总结

抽象类:抽象类只是在普通类的基础上扩充了一些抽象方法,所谓的抽象方法指的是只声明而未实现的方法(没有方法体),所有抽象方法要求使用abstract来定义,并且抽象方法所在的类一定要使用abstract关键字来定义,表示抽象类。抽象类中包含由抽象方法,而抽象方法不包含方法体,既没有具体实现。因此抽象类不能直接生产实例。abstract class Person{ private Stri...

2019-04-14 21:06:53 151

空空如也

空空如也

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

TA关注的人

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