![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 86
dulalarepost
这个作者很懒,什么都没留下…
展开
-
理解Cookie和Session的区别
一:理解HTTP协议是一种无状态的协议为什么说HTTP是一种无状态的协议呢?因为HTTP不会为了下一次的连接而维护本次连接所传输的信息。这是为了保证服务器的内存。同样的,也就是说HTTP协议没有在下一次传输之前得到本次传输的信息的能力。无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。从另一方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系。H...原创 2019-08-13 01:12:46 · 122 阅读 · 0 评论 -
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 · 94 阅读 · 0 评论 -
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 · 1370 阅读 · 0 评论 -
关于nextInt(),next()等和nextLine()的误区
Scanner:在API中是这样子解释的:一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串。Scanner是我们从键盘输入最常用的类。Scanner分隔符模式将输入打破到令牌,默认情况下匹配空格。 然后可以使用各种next方法将得到的令牌转换成不同类型的值。nextInt()和nextLine()的区别:看接下来一段代码:public class Test1 { ...原创 2019-07-30 02:01:33 · 194 阅读 · 0 评论 -
Java快速排序
快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。总的来说,快速排序的思想可以分为以下三步:1. 从待排序元素序列中选取一个数作为基准(一般情况下我们会选取...原创 2019-07-18 01:41:46 · 104 阅读 · 0 评论 -
组个最小数
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔...原创 2019-07-16 16:00:19 · 111 阅读 · 0 评论 -
跟奥巴马一起编程
在屏幕上画一个正方形:输入:输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。输出:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。import java.util.Scanner;/** * Created with InteIIiJ...原创 2019-07-15 13:01:25 · 127 阅读 · 0 评论 -
替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%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 · 66 阅读 · 0 评论 -
栈的压入,弹出序列——《剑指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 · 89 阅读 · 0 评论 -
Java冒泡排序及其简单优化
冒泡排序思想:冒泡排序(Bubble Sort)的基本思想是,通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,如果发现逆序则交换,数值较大的元素逐渐从前面移动到后面。冒泡排序图解:代码:import java.util.Arrays;/** * Created with InteIIiJ IDEA. * Description: * User: * ...原创 2019-07-23 01:53:15 · 103 阅读 · 0 评论 -
Java实现收银台系统
项目总结:1.简介:该系统是一款基于字符界面的收银台系统,实现了商品管理,浏览支付订单等功能。2.实现要求:掌握了JavaSE的基本知识,以及掌握了MySQL数据库,JDBC编程等知识并且能够熟练使用融会贯通。在本次项目中我们使用DataSource连接数据库DataSource连接数据库我们使用PrepareStatement而放弃使用Statement的原因:PrepareSt...原创 2019-08-25 18:14:50 · 4828 阅读 · 0 评论 -
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 · 2454 阅读 · 0 评论 -
PrepareStatement和Statement的区别
PrepareStatement和Statement的区别PrepareStatement继承与Statement,包含execute()、 executeQuery() 和 executeUpdate()三种方法1.PrepareStatement实例包含已经编译的SQL语句,会将SQL语句进行预编译,所以执行速度比Statement高。prepareStatment事先对语句进行预处理...原创 2019-08-25 18:03:17 · 5180 阅读 · 0 评论 -
功能实现
我们以浏览商品作为示例来展示操作流程: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 · 967 阅读 · 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 · 180 阅读 · 0 评论 -
基于Jsp+Servlet+JavaBean+mysql实现的简单的登录功能
不积硅步无以成千里原创 2019-08-10 00:02:22 · 3837 阅读 · 0 评论 -
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 · 513 阅读 · 0 评论 -
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 · 166 阅读 · 0 评论 -
二维数组中的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解决方法:方法一: public static boolean function(int a,int[][]array){ for (int i = 0; i < array...原创 2019-07-13 22:41:40 · 63 阅读 · 0 评论 -
Java中垃圾回收的目的?什么时候进行?
垃圾回收:垃圾回收是在内存中中存在没有引用的对象或超过作用域的对象时进行垃圾回收,垃圾回收的目的是识别并且丢弃不再使用的对象来释放和重用资源。目的:回收堆中不再使用的对象,释放资源。回收时间:当对象失去引用后,系统会在合适的时间回收它所占的内存。回收时间即出发GC的时间。在新生代的Eden区满了会触发新生代GC(MiMor GC),经过多次触发新生代GC存活下来的对象就会升级到老年代,...原创 2019-07-12 21:06:08 · 2855 阅读 · 0 评论 -
HashMap和HashTable的区别;
HashMap和Hashtable的区别HashMap和Hashtable都实现了Map接口,很多特性非常相似,有以下不同点:HashMap允许键和值是null,Hashtable不允许键或者值是nullHashtable是同步的,HashMap不是Hashtable内部很多方法被Synchronized关键字修饰 public synchronized int s...原创 2019-07-12 20:56:33 · 94 阅读 · 0 评论 -
抽象类模板设计模式相关知识总结
抽象类:抽象类只是在普通类的基础上扩充了一些抽象方法,所谓的抽象方法指的是只声明而未实现的方法(没有方法体),所有抽象方法要求使用abstract来定义,并且抽象方法所在的类一定要使用abstract关键字来定义,表示抽象类。抽象类中包含由抽象方法,而抽象方法不包含方法体,既没有具体实现。因此抽象类不能直接生产实例。abstract class Person{ private Stri...原创 2019-04-14 21:06:53 · 126 阅读 · 0 评论 -
时间复杂度和空间复杂度及顺序表基础知识
时间复杂度:一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。时间复杂度的表示使用大O的渐进表示法:1、用常数1取代运行时间中的所有加法常数。2、在修改后的运行次数函数中,只保留最高阶项。3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。空间复杂度:空间复杂度是对一个算法在运行过程中临时占用存储空间大小的...原创 2019-04-16 16:46:47 · 4451 阅读 · 0 评论 -
java字符串相关练习题
1、字符串转化(压缩) “aabbccdaa” -> “a2b2c2d1a2”public class TextDemo1 { public static String stringComPress(String str){ char[] array = str.toCharArray();//将字符串转换为字符数组 StringBuilder ...原创 2019-04-16 14:46:30 · 1810 阅读 · 0 评论 -
java三大特殊类知识总结
String类:1.直接赋值:存放再常量池中,常量池中相同的字符串只有一份。可以使用.intern()方法进行手动入池。2.构造法:使用关键字new进行对象实例化字符串的比较:==本身是进行数值比较的,如果用于对象比较,比较的是两个对象所保存的内存地址,而并不是对象的内容。进行对象内容比较使用String类提供的equals方法。匿名对象白存在堆内存中。字符串一旦定义,不可改变。...原创 2019-04-16 14:37:36 · 126 阅读 · 0 评论 -
面向对象编程相关知识整理(2)
封装:(用private实现)继承:(extends)Person:父类,基类,超类Student:派生类,子类派生类继承了基类除过构造函数的其他东西派生类需要帮助基类构造/** * Created with IntelliJ IDEA. * Description: * User: * Date: 2019-04-09 * Time: 15:01 */class Per...原创 2019-04-09 15:55:01 · 198 阅读 · 0 评论 -
面向对象编程相关知识总结(类和对象)
面向对象编程:OOA:面向对象分析OOD:面向对象设计OOP:面向对象编程面向对象大大特征:1.封装2.继承3.多态类和对象的定义使用:类是指一个模板,蓝图,而对象是指一个实例类中的组成:属性(变量,描述每个对象的具体特点),方法(操作的行为)生产对象:类名称 对象名称 = new 类名称();对象属性的初始化方式:1.提供一系列的get和set方法2.提供合适的构造函...原创 2019-04-09 14:49:48 · 198 阅读 · 0 评论 -
数组拷贝的四种方式
数组拷贝:1.for循环2.clone3.System.arraycopy()<最快>4.Arrays.copyOf()这四种拷贝方式对于基本类型来说是深拷贝,对于应用类型来说是浅拷贝。System.arraycopy(src,srcPos,dest,destPos,length)src:源数组,srcPos:源数组中的起始位置,dest:目标数组,dextPos:目标数...原创 2019-04-08 12:26:08 · 378 阅读 · 0 评论 -
数组相关知识整理
数组:(引用类型)数组指的是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。1.动态初始化数据类型[]数组名称 = new 数据类型[长度];分步进行数组实例化int[] x = null;x = new int[3];静态初始化:数据类型[]数组名称 = {值,值,…}数据类型[]数组名称 = new 数据类型{值,值,…}数组属于引用类型,再使用之前必须开...原创 2019-04-08 12:24:55 · 134 阅读 · 0 评论 -
接口和工厂设计模式相关知识总结
接口就是抽象方法和全局常量的集合接口的出现解决了Java单继承的问题1.定义接口使用关键字interface,接口的名称使用I表示public interface INews{ void getNews();}2.接口中定义的方法默认为抽象方法public abstaract定义的数据属性默认为public static finalpublic interface IMe...原创 2019-04-14 22:21:18 · 198 阅读 · 0 评论 -
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 · 145 阅读 · 0 评论 -
深入了解Java单例模式
一:单例模式:Java中的一种设计模式。顾名思义:所谓单例模式就是只能产生一个实例化对象的一种模式。这一模式的目的是为了类中产生的一个对象成为整个系统的唯一一个对象。二:单例模式的特点:1.这个类只能有一个实例2这个类必须自己创建自己的唯一实例3.这个类必须给所有其他对象提供这一对象实例。三:单例模式的实现:思想:1.提供一个私有的构造方法,确保在类的外部无法产生实例化对...原创 2019-07-03 15:32:49 · 163 阅读 · 0 评论 -
求最大公约数和最小公倍数
求最小公倍数:先求出最大公约数,两数乘积除最大公约数就是最小公倍数。求最大公约数? * 1.辗转相除法 * 2.辗转相减法 * 3.穷举法代码://辗转相除法求最大公约数 public static int function1(int a, int b) { int num = 0; while (a % b != 0) {...原创 2019-07-08 11:07:01 · 609 阅读 · 0 评论 -
java深拷贝和浅拷贝
一:java中要想使对象具有拷贝的功能,必须实现Cloneable接口(Cloneable接口是一个标识接口,标识这个类可以被clone),并且在类中自定义clone调用Object类提供的继承权限clone方法。public interface Cloneable {}只有子类实现了Cloneable接口后才可以使用Object类提供的clone方法。protected native...原创 2019-06-22 15:26:13 · 79 阅读 · 0 评论 -
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 · 186 阅读 · 1 评论 -
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 · 74 阅读 · 0 评论 -
Java中的可变参数
可变参数:1.定义方法时并不能确定要定义几个参数时可以考虑使用可变参数2.格式:[参数类型 … 参数名称]3.参数中使用的…实际上表示一个数组结构,可以使用for循环来遍历4.如果方法中要传递多类参数,可变参数一定要放在最后面//使用可变参数实现任意参数的整数的相加结果public class TestDemo1 { //...表示一个数组结构 public stati...原创 2019-05-07 15:50:45 · 104 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环问题:假设有n个人围成一圈,顺序排号,从第一个人开始报数,(从1到3报数),凡报到3的人退出圈子,问最后留下来的是原来第几号的那位。假设有A—K十一个人,从A开始报数,报到三的人出列,求最后一个留下来的人。×表示此人推出队列。代码实现:public class TextDemo1 { //假设有n个人参与游戏 public static int function...原创 2019-04-19 17:36:28 · 151 阅读 · 0 评论 -
抽象类和接口的区别
抽象类和接口的区别1.结构组成:抽象类由普通类和抽象方法组成,接口由抽象方法和全局常量组成,没有已经实现的方法2.权限:抽象类中拥有各种权限,接口中只能有public3.子类使用:抽象类使用extends关键字继承抽象类,接口中使用implments关键字实现接口4.关系:一个抽象类可以实现若干个接口,接口不能继承抽象类,接口可以使用extends关键字继承多个父接口5.子类限制:抽象类...原创 2019-04-18 18:10:34 · 142 阅读 · 0 评论 -
练习题
说说&和&&的区别:表示“与”操作符,当运算符两边的表达式都为true时,运算结果为true,否则只要有一方为false,运算结果都为false。&:按位与,双目运算符,将两个操作数按二进制展开进行与运算。&&:逻辑与,双目运算符,存在短路现象,只要有条件返回false,剩余条件不再判断,返回false。2.存在使i+1<i的数...原创 2019-04-02 14:06:18 · 110 阅读 · 0 评论