- 博客(31)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 遗传算法在自动组卷中的应用
遗传算法在自动组卷中的应用遗传算法遗传算法(Genetic Algorithm)是一种模拟自然界的进化规律-优胜劣汰演化来的随机搜索算法,其在解决多种约束条件下的最优解这类问题上具有优秀的表现.1. 基本概念在遗传算法中有几个基本的概念:基因、个体、种群和进化.基因是个体的表现,不同个体的基因序列不同;个体是指单个的生命,个体是组成种群的基础;而进化的基本单位是种群,一个种群里面有多个个体;进化是指
2016-06-23 13:03:04
21207
6
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 java登录程序用户密码5分钟内输错3次锁定用户账号一天的实现
java登录程序用户密码5分钟内输错3次锁定用户账号一天的实现oracle 触发器 序列 MVC Struts 用户管理 密码锁定
2015-08-17 13:32:18
34043
10
原创 Velocity教程
Velocity是一个基于Java的模板引擎,通过特定的语法,Velocity可以获取在java语言中定义的对象,从而实现界面和java代码的真正分离,这意味着可以使用velocity替代jsp的开发模式了(实际上笔者所在的公司已经这么做了)。这使得前端开发人员可以和 Java 程序开发人员同步开发一个遵循 MVC 架构的 web 站点,在实际应用中,velocity还可以应用于很多其他的场景.1.
2016-08-20 17:29:50
71154
6
原创 java爬虫之下载txt小说
最近迷上了天蚕土豆写的《大主宰》这本玄幻小说,无奈找不到下载链接。于是就萌生了自己爬取小说章节的想法,代码其实很简单,主要在于分析网页结构、正则匹配以及文件保存. 1. 分析网页结构爬取小说主要需要爬取章节、正文,以及能保证爬取到所有的章节。以《大主宰》为例,其网页结构如下:可以看到小说正文包含在一个id为content的div里,这极大的帮助了我们的爬取.章节名称保存在一个名为readtitle
2016-06-30 23:15:28
5458
3
原创 利用栈解析算术表达式
在编写编译器时经常需要实现对算术表达式的解析,然而对于计算机的算法来说如果直接求解算术表达式的值,还是相当困难的。因此解析算术表达式经常分步实现:将中缀的算术表达式转换为后缀表达式计算后缀表达式的值在正式介绍算法的实现之前,先介绍一点有关表达式的基础知识基础知识1. 后缀表达式日常算术表达式是将操作符(operator)(+,-,*,/)放在两个操作数(operands)(数字,或者代表数字的
2016-06-24 16:12:02
1036
原创 使用过滤器统一全站编码
在web开发中,过滤器是一项非常激动人心的技术,它可以对所有的访问进行控制,通过这些特性,我们可以用来实现很多的需求。常见的有记住用户名密码、统一全站编码等等。本文就利用过滤器+装饰器实现统一全站编码做简单的介绍。 首先需要对jsp和servlet中的编码有一定的了解,具体可以看这篇文章:JSP编码以及乱码解决总结。 实现代码如下:public class EncodingFilter im
2016-06-24 16:06:25
2546
1
原创 Hibernate与Mysql 5.5创建表出错--table doesn't exist
最近在学习hibernate,利用其自动创建表时老是出错,出错信息如下:ERROR: HHH000388: Unsuccessful: create table NEWS (ID integer not null auto_increment, TITLE varchar(255), AUTHOR varchar(255), DATE date, primary key (ID)) type=Inn
2015-12-24 13:56:22
2110
2
原创 64位电脑上安装oracle和plsql
这两天一直在安装oracle,前前后后装了四遍,遇到各种问题,实在是被oracle这个小妖精给折磨疯了。好在最后大功告成,现在总结一下。一、安装环境:1、win10 64位家庭版2、oracle 11g 64位,点我下载。找到这个下载即可:oracle client ,点我下载 , 找到这个下载,instantclient-basic-nt-11.2.0.4.0.zip。3、PL/SQL 32
2015-12-02 12:19:43
5373
2
原创 js实现省份、城市的级联选择
JS实现省份、城市的级联选择实现省份、城市的级联选择,可以用纯JS实现,当然也可以使用jquery实现,下面就讲一下如何用纯javascript实现。 其实实现JS这个很简单,有两点需要注意: 1、对省份的下拉框的onchange事件进行监听,一旦省份被改变,那么就去xml资源文件里获取对应的城市,创建新的option节点,将之挂载在城市节点下。 2、有个地方需要注意,在监听事件里,首先需要先
2015-11-21 21:34:45
9858
原创 实现超大整数(超过long长度范围)的加法运算
昨天笔试,遇到这么一个问题:如果系统要使用超大整数(超过long长度范围),请你设计一个数据结构来存储这种超大型数字以及设计一种算法来实现超大整数加法运算)。 其实这个问题很好解决,超大整数可以直接使用String来存储。对于两个String存储的超大整数的相加,先比较二者长度,在短的那个前面补0,使两个String一样长。然后从尾部开始,挨个取数,相加并进位即可。代码如下:public Stri
2015-11-03 11:28:15
10399
3
原创 去除字符串重复部分
昨天笔试有这么一个问题,去除一个字符数组的重复部分,不能开辟额外的空间。 思路大概如下: 利用字符串结束符 ‘\0’,和一个额外的下标index,从而实现原来字符数组的复用 1、对数组遍历,如果不为’\0’,做第二步 2、将当前元素的值赋给下标为index的数组,index往后移动一位 3、对当前元素之后的所有元素进行遍历,如果碰到和当前元素相同的,将其置为 ‘\0’ 4、对数组遍历结束
2015-10-24 11:31:38
775
原创 二叉树的常用操作
一、求二叉树高度/** * 求二叉树高度 * @param root * @return */ public int getHeight(Node root){ if(root==null){ return 0; } int l=getHeight(root.leftChild);
2015-10-14 22:47:17
382
原创 非递归实现二叉树的层次遍历
非递归的层次遍历其实很简单。利用了队列先进先出的特点。 先将根节点入队。如果队列不为空,那么获得队首元素,对其访问。如果它的左子树不为空,那么加入队列,如果它的右子树不为空,那么加入队列/** * 层次遍历 * @param root */ public void levelOrder(Node root){ if(root==null){
2015-10-14 22:39:19
1165
原创 非递归实现二叉树的前、中、后序遍历
二叉树是数据结构里经常使用的一种数据结构,需要注意其和树的区别(二叉树的一个节点最多只能有2个子树,而树没这个限制),还有完全二叉树和满二叉树。 创建如下图的一颗二叉树:一、创建二叉树public class BinaryTree { private Node root=null; public BinaryTree(){ root=new Node("A");
2015-10-14 22:35:40
537
原创 自建连接池异常$Proxy0 cannot be cast to java.sql.Connection
自建连接池异常$Proxy0 cannot be cast to java.sql.Connection今天在网上看到一个连接池的例子,于是按照所说的自己写了一遍,其构思比较巧妙,使用代理的方法在连接关闭的时候将连接送回连接池中,主要代码如下:// 使用代理获取连接,确保释放(close)连接后,连接能被送回到连接池中 public Connection getConnection() th
2015-10-02 16:58:33
2609
原创 myeclipse new 后面的菜单设置
有时候我们在使用myeclipse新建文件的时候,发现new中找不到自己想要的选项,还得点other去找,可以这样设置一下: window -> Customize Perspective -> menu Visibility -> file -> new 然后选择自己想要的就好了 如图
2015-09-19 17:15:08
465
转载 java String的经典问题(new String() ,String )
先来看一个例子,代码如下:1.public class Test { public static void main(String[] args) { String str = "abc"; String str1 = "abc"; String str2 = new String("abc");
2015-09-19 10:53:06
527
转载 JSP编码以及乱码解决总结
首先,说说JSP/Servlet中的几个编码的作用: 1.<%@pagepageEncoding=”UTF-8” %>作用: * 告诉JSP编译器在将JSP文件编译成Servlet时使用的编码。通常,在JSP内部定义的字符串(直接在JSP中定义,而不是从浏览器提交的数据)出现乱码时,很多都是由于该参数设置错误引起的。 例如,你的JSP文件是以GBK为编码保存的 (右击jsp–>Properti
2015-09-18 23:27:41
573
原创 解决properties文件乱码问题
解决properties文件乱码问题首先知道乱码的原因,properties文件的默认编码是iso8859-1,所以我们往里面存中文,但是取出来的时候一般不是用ISO8859-1取的,所以乱码,那么只要编码和解码一致就不会乱码了 1、直接在Java文件中修改InputStream in=this.getServletContext().getResourceAsStream("/proper2.p
2015-09-17 20:50:08
2536
原创 ServletConfig和ServletContext的区别
1、ServletConfig ServletConfig是针对于当前Servlet的,其他servlet访问不到这个servlet的信息。一个servlet的ServletConfig对象不能被另一个servlet访问。 ServletConfig常用来获取当前Servlet的配置信息 ServletConfig中还维护了一个对ServletContext的引用配置如
2015-09-16 18:19:17
1306
原创 归并排序之java实现
毕业季在即,一大波面试接踵而来,为了一份好offer,所以最近在重新刷数据结构与算法。正好在博客里面记录一下。今天是归并排序的实现。 归并排序是典型的分治模式的实现,对一个数组A,采取三步实现:分解,解决,合并 分解:分解待排序的n个元素的序列成各具n/2个元素的两个子序列 解决:使用归并排序递归地排序两个子序列 合并:合并两个已排序的子序列产生最后排好序的序列 那么到底什么是归并排序呢
2015-09-15 23:15:57
482
转载 CUBE 和 ROLLUP 之间的具体区别
ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。下面是 CUBE 和 ROLLUP 之间的具体区别:CUBE 生成的结果集显示了所选列中值的所有组合的聚合。 ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。 ROLLUP 优点:(1)ROLLUP 返回单个结果集,而 COMPUTE BY 返回多个结果集,而多个结果集会增加应用程序代码的复杂性。 (2)RO
2015-09-06 17:20:12
431
原创 详解Java中格式化输出浮点数
在Java中,我们经常使用%f来格式化输出浮点数,最近发现一个有趣的事。%f可以指定输出字符的宽度和小数点后的位数 1、只指定了整个输出的宽度public static void main(String[] args) { double x=0.123456789; System.out.printf("%10f",x); System.out.
2015-08-29 20:36:00
19928
原创 python中range函数的使用
range()函数,用来产生整数序列,可以指定步长,这样就能很方便了 参数说明: range(start, end, scan): start:计数从start开始,默认为0,range(2)=range(0,2) end: 计数到end结束 list(range(2))为[0,1] 注意包左不包右! scan: 计数的步长,默认为1,可以指定 比如range(0,4,2)加入现
2015-08-29 14:31:01
3598
原创 Sublime Text2 配置tab为4个空格
在顶部菜单栏找到 Preference->Settings-defalut: 添加这两行:// The number of spaces a tab is considered equal to "tab_size": 4,// Set to true to insert spaces when tab is pressed "translate_tabs_to_spaces":
2015-08-21 14:46:01
531
转载 java-web-j2e学习建议路线
明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PD
2015-08-18 09:57:32
821
原创 Java和js中小数和百分数的互相转换
一、百分数转小数 Java中: private float changePercentToPoint(String percent) { return new Float(percent.substring(0, percent.indexOf("%"))) / 100; } js中:function toPoint(percent){ var str=p
2015-08-17 16:21:34
31307
3
原创 oracle中序列的使用
oracle中序列可以自动产生递增或者递减的序列,数据库中表的唯一主键ID一般都是序列产生的 sql语句如下:-- Create sequence create sequence SEQ_E_PRICEminvalue 1maxvalue 9999999999999999999999999999start with 1increment by 1cache 100;SEQ_E_PRI
2015-08-17 15:46:51
514
原创 Oracle存储过程和job在项目中的应用
最近在实习公司的项目开发中有遇到这么一个需求:在做一个电价管理系统中,有新增电价这么一个功能,新增电价默认不生效,用户可以手动选择生效的时间,到了时间电价就自动变成生效,如下图所示 在界面中是这样的 对于这个需求我们可以利用存储过程和job来实现。 新建一个存储过程对电价生效标志进行更新,然后在job中每天定时执行这个存储过程 sql语句如下:--create procedure cr
2015-08-17 15:17:44
1027
原创 查询选修全部课程的学生姓名和所属单位
查询选修全部课程的学生姓名和所属单位在解答这个问题之前先举一个小例子,现有3张表 S (SI,SN,SD,SA) SI,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄 C (CI,CN ) CI,CN 分别代表课程编号、课程名称 SC ( SI,CI,G ) SI,CI,G 分别代表学号、所选修的课程编号、学习成绩 查看SC表中的全部信息如下: 要求返回每个
2015-07-09 23:17:19
10336
原创 MySQL安装和SQL语句入门
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2015-07-09 12:58:34
901
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人