
Java
文章平均质量分 52
你好潘先生
做自己内心热爱的事。
展开
-
排序算法性能比较
排序作为算法最基础的一部分,但是还是有部分程序员连手写冒泡排序都比较困难,包括我原创 2019-03-15 16:37:15 · 685 阅读 · 0 评论 -
JavaFX Dialog对话框
1. 标准对话框消息对话框Alert alert = new Alert(AlertType.INFORMATION);alert.setTitle("Information Dialog");alert.setHeaderText("Look, an Information Dialog");alert.setContentText("I have a great message for翻译 2017-10-12 15:35:41 · 24429 阅读 · 3 评论 -
CentOS搭建JavaWeb开发环境
1. 搭建 Java 开发环境此教程教大家如何配置 JDK 、Tomcat 和 Mysql安装 JDKJDK 是开发Java程序必须安装的软件,我们查看一下 yum 源里面的 JDK:yum list java*选择适合本机的JDK,并安装:yum install java-1.7.0-openjdk* -y安装完成后,查看是否安装成功:java -version安装 TomcatTomcat 是一转载 2017-10-18 10:50:09 · 11998 阅读 · 0 评论 -
Maven快速搭建SpringMVC项目
1. 新建Maven项目springtest2. 添加依赖和插件,pom.xml内容如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/原创 2017-09-21 19:15:34 · 6672 阅读 · 0 评论 -
解决Pointcut is not well-formed
亲手刚学习Spring,使用注解时@Before("execution(*com.zhazhapan.spring.springtest.chapter.one.aop.DemoMethodService.*(..))")总是报错org.springframework.beans.factory.BeanCreationException: Error creating bean with name原创 2017-09-20 17:04:24 · 10757 阅读 · 0 评论 -
SpringMVC配置文件上传功能(Maven)
如果你不知道怎么用Maven搭建SpringMVC项目,请点此这里查看1. 添加文件上传依赖,pom.xml添加如下内容<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.3</version></dependency><dependency>原创 2017-09-21 21:31:36 · 6868 阅读 · 0 评论 -
Eclipse新建Spring Boot项目
1. 下载Spring Tool Suite插件2. 新建Spring Boot项目3. 填写项目信息4. 选择项目依赖5. 完成项目新建6. 添加一个测试控制器,代码如下/** * */package com.zhazhapan.spring.springboot;import org.springframework.boot.SpringApplication;import org.s原创 2017-09-25 21:48:37 · 6865 阅读 · 0 评论 -
SSE服务器推送事件
如果你还不知道怎么用Maven搭建SpringMVC项目,请点此这里查看1. 新建一个演示控制器,代码如下/** * */package com.zhazhapan.spring.springtest;import java.util.Random;import org.springframework.stereotype.Controller;import org.springframe原创 2017-09-25 15:32:44 · 9349 阅读 · 0 评论 -
Java使用QQ邮箱发送邮件
1.下载jar包 下载JavaMail 下载JAF2.将mail.jar 和 activation.jar两个jar包导入项目3.发送邮件代码如下public static boolean sendEmail(String to, String title, String content, String from, String key) { String host = "smtp.q原创 2017-08-29 17:11:39 · 6544 阅读 · 0 评论 -
JavaWeb项目配置Hibernate
1.下载Hibernate2.将lib目录下的所有jar包拷贝到WEB-INF的lib目录下3.新建一个测试实体/** * */package com.example.entity.Test;import java.util.Date;import javax.persistence.Column;import javax.persistence.Entity;import javax.原创 2017-08-29 16:43:42 · 7639 阅读 · 0 评论 -
Java面试遇到的问题总结(一)
Struts2和SpringMVC的区别拦截级别Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts2中Action的一个方法可以对应一个url,而其类属性却原创 2017-11-17 22:54:44 · 24054 阅读 · 1 评论 -
Java面试遇到的问题总结(二)
乐观锁和悲观锁乐观锁实现方式悲观锁乐观锁和悲观锁乐观锁顾名思义,就是很乐观,假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。乐观锁适用于读多写少的应用场景,这样可以提高吞吐量。实现方式使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数原创 2017-11-21 18:59:37 · 3465 阅读 · 0 评论 -
七牛云——对象存储管理工具介绍
由于我是一个七牛的重度使用者(主要是对象存储),每次上传文件、复制链接、下载文件都必须用浏览器打开网页,而且还要登录,感觉好麻烦啊,干脆就自己开发了一个这样的工具(使用JavaFX编写),打包成可执行的jar包。主要功能就是文件的上传下载,获取存储空间中的文件列表,搜索文件(支持正则表达式),复制文件外链,删除文件,移动(或复制)文件,重命名文件名,设置文件的生存时间等。功能截图:1. 主窗口界面:原创 2017-10-15 22:41:54 · 13257 阅读 · 6 评论 -
Java利用Comparator实现分组排序
在数据库中我们可以使用 order by 和 group by 轻松实现分组和排序的功能,那么在Java中我们又该如何实现呢?下面我们一起来研究一番Comparator 与 ComparableComparable 是一个排序接口,实现了该接口的类,表示该类支持排序功能,重写 compareTo 方法可使程序按照我们的意愿对数组或列表进行排序Comparator 是一个比较器接口,如...原创 2019-02-15 10:09:16 · 2825 阅读 · 2 评论 -
SpringBoot整合Swagger
添加依赖包&lt;dependency&gt; &lt;groupId&gt;com.spring4all&lt;/groupId&gt; &lt;artifactId&gt;swagger-spring-boot-starter&lt;/artifactId&gt; &lt;version&am原创 2018-08-02 17:27:43 · 692 阅读 · 0 评论 -
深入Java Enum枚举类
在比较两个枚举类型的值时,永远不需要调用 equals,而直接使用 ==就可以了。我们可以在枚举类型中添加一些构造器、方法和域。构造器只是在构造枚举常量的时候被调用。所有的枚举类型都是 Enum 类的子类。因此他们继承了这个类的许多方法。例如:toStringSizeEnum.SMALL.toString();// result: SMALLvalueOfSizeEnum s...原创 2018-07-22 18:09:36 · 316 阅读 · 0 评论 -
自定义IDEA快捷键
为了达到纯键盘操作 IDEA,我们有时需要自己定义一些常用功能的快捷键首先需要先复制一份快捷键(打开设置,找到 keymap)我的快捷键设置如下: 快捷键 描述 Ctrl + Shift + T 显示/隐藏工具栏(Toolbar) Ctrl + Shift + O 显示/隐藏工具按钮(Tool Buttons) Ctrl + Shift...原创 2018-05-26 13:33:34 · 1187 阅读 · 0 评论 -
Error: Lambda expressions are allowed only at source level 1.8 or above
这个问题也是奇葩,前几天还好好的,突然打开 idea 运行项目就报这个错误,真是无语了,网上搜了一波,终于解决了检查 pom 文件的 target 和 source<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.targ...原创 2018-05-25 11:56:29 · 11185 阅读 · 0 评论 -
Java将字符串转换成可执行代码
添加依赖&amp;amp;amp;lt;dependency&amp;amp;amp;gt; &amp;amp;amp;lt;groupId&amp;amp;amp;gt;org.apache.commons&amp;amp;amp;lt;/groupId&amp;amp;amp;gt; &amp;amp;amp;lt;artifactId&amp;amp;a原创 2018-05-19 23:17:08 · 15370 阅读 · 3 评论 -
Java面试总结(三)
1. String类特有的方法2. 静态方法为什么不能调用动态(非静态)方法3. JVM内存结构3.1 方法区(Method Area)3.2 虚拟机栈(VM Stack)3.2.1 局部变量表3.2.2 操作数栈3.2.3 动态链接3.2.4 方法返回地址3.3 堆(Heap)3.3.1 元数据空间(Meta-Area)3.3.2 运行时常量区3.4 本地方...原创 2018-05-18 11:43:36 · 437 阅读 · 0 评论 -
个人封装的Java工具包
封装一些常用的功能(JDK至少需要1.8),持续更新 API文档使用Maven<dependency> <groupId>com.zhazhapan</groupId> <artifactId>util</artifactId> <version>1.0.6</version...原创 2017-11-30 15:06:24 · 2200 阅读 · 0 评论 -
安装使用Lombok插件
简介Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。Lombok能够达到的效果就是在源码中不需要写原创 2017-12-15 10:16:50 · 508 阅读 · 0 评论 -
单词变换
题目描述: 有一个单词列表,一个初始单词和一个最终单词,初始单词需要通过单词列表逐步变换到最终单词,求变换所需的最短变换路径长度。 变换规则:每次只能变动1个字母(不可交换位置,如:从abc变成cba属于变动了2个字母),每次变换只能从单词列表中选取。 例如:初始单词hot,最终单词dog,单词列表[got, dot, god, dog, lot, log],最短变换路径为[hot,dot,d原创 2017-04-03 21:04:23 · 7902 阅读 · 0 评论 -
i++
例题1:下列程序的输出结果是多少?public class Test { static { int x = 5; } static int x, y; public static void main(String[] args) { x--; myMethod(); System.out.println原创 2017-04-03 11:45:55 · 6154 阅读 · 0 评论 -
JSP简单标签的开发
1. 新建RepeatSampleTag类,代码如下:package bid.zhazhapan.fims.tag;import java.io.IOException;import java.io.StringWriter;import javax.servlet.jsp.JspContext;import javax.servlet.jsp.JspException;import jav转载 2017-03-05 11:00:12 · 6170 阅读 · 0 评论 -
JSP迭代标签
1. 新建LoopTag类,代码如下:package bid.zhazhapan.fims.tag;import java.io.IOException;import java.util.Collection;import java.util.Iterator;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tag转载 2017-03-05 10:30:15 · 6859 阅读 · 0 评论 -
JSP带有标签体的自定义标签
新建OutTag类 如何添加jsp-api.jar包 OutTag类详细代码package bid.zhazhapan.fims.tag;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.BodyTagSupport;public class OutTag extends BodyTagSupport {原创 2017-03-04 20:56:45 · 6267 阅读 · 0 评论 -
JSP带有属性的自定义标签
新建HelloWelTag类 如何添加jsp-api.jar包 HelloWelTag类详细代码package bid.zhazhapan.fims.tag;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.TagSupport;public clas原创 2017-03-04 20:42:18 · 6804 阅读 · 0 评论 -
JSP自定义不带属性和标签体的简单标签
1. 新建HelloTag类 2. 添加额外的Jar包 (1). 右键项目 -> Build Path -> Configure Build Path -> Libraries -> Add External JARs (2). 定位到tomcat安装目录的lib文件夹下(我的是:C:\Program Files\Apache Software Foundation\Tomcat原创 2017-03-04 16:48:50 · 6848 阅读 · 0 评论 -
Servlet的web.xml配置
Servlet<servlet> <servlet-name>name</servlet-name> <servlet-class>path</servlet-class></servlet><servlet-mapping> <servlet-name>name</servlet-name> <url-pattern>/url</url-pattern></原创 2017-03-01 16:56:17 · 6132 阅读 · 0 评论 -
JDBC访问数据库的步骤
1.装载驱动程序 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//使用JDBC-ODBC装载驱动程序 Class.forName("com.mysql.jdbc.Driver");//使用MySQL的驱动程序 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//使用SQL原创 2017-03-01 14:44:00 · 8296 阅读 · 0 评论 -
解决Servlet中文乱码
折腾了一个小时,终于还是解决了原来是doPost和doGet都要设置setCharacterEncoding贴代码protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// TODO Auto-gene原创 2016-12-10 20:21:26 · 6100 阅读 · 0 评论 -
Multiple annotations found at this line: - The superclass "javax.servlet.http.HttpServlet" was not
jsp页面出现错误:Multiple annotations found at this line:- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path解决方案:1.右键项目 build path2.选择 configure build path3原创 2016-12-10 21:14:05 · 9450 阅读 · 0 评论 -
回溯算法求解数独
写一个程序,解决数独求解的问题空的格子用字符 '.'代替。你可以假设只有一个解一个数独 ……红色的数字就是解.下面是我的程序/** * */package com.zhazhapan.algorithm.backtracking;/** * @author pantao * @date 2017-04-06 * */public class SudokuSolve { /*原创 2017-04-07 09:32:59 · 7365 阅读 · 0 评论 -
动态规划法求解矩阵中最长的递增路径的长度
给定一个整数矩阵,找到增加最长路径的长度。从每一个单元格,你可以移到四个方向:左,右,向上或向下。你不能移到对角线移动或移动以外的边界(即缠绕是不允许的)。Example 1:nums = [ [9,9,4], [6,6,8], [2,1,1]]Return 4 The longest increasing path is [1, 2, 6, 9].Example 2:nums =原创 2017-04-07 10:01:46 · 8001 阅读 · 0 评论 -
Java之ClassLoader基础知识
ClassLoader基本概念Java程序并不是一个可执行文件,而是由许多独立的类文件组成的,每一个文件对应一个Java类。这些类文件并非全部装入内存,而是根据程序需要逐渐载入。并且ClassLoader是JVM实现的一部分。ClassLoader加载流程当运行一个程序的时候,JVM启动,运行bootstrap classloader,该ClassLoader加载Java核心API,然后调用E原创 2017-04-03 11:07:37 · 6100 阅读 · 0 评论 -
进制转换
进制转换 时间限制:C/C++语言 2000MS;其他语言 4000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 用英文字母a-z来分别表示数值0-25, 形成一个26进制的数值表示法。需要你写一个方法,将用a-z表示的26进制数值的字符串,转化为对应的10进制数值。输入 输入数据有多组,每组占一行,包含多个a-z之间的字符。输出 所对应表示的1原创 2017-04-03 11:43:36 · 6346 阅读 · 0 评论 -
水仙花数
水仙花数(编程题须知) (参考答案) 时间限制:C/C++语言 2000MS;其他语言 4000MS 内存限制:C/C++语言 32768KB;其他语言 557056KB 题目描述: 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m原创 2017-04-03 11:41:47 · 6506 阅读 · 0 评论 -
按层打印二叉树
时间限制:C/C++语言 2000MS;其他语言 4000MS 内存限制:C/C++语言 65536KB;其他语言 589824KB 题目描述: 给定一棵二叉树的前序(根、左、右)和中序(左、根、右)的打印结果,输出此二叉树按层(从左往右)打印结果。 例如一棵二叉树前序:1 2 4 5 3;中序:4 2 5 1 3。可以构建出下图所示二叉树:按层打印的结果则为:1 2 3 4 5。输入 第原创 2017-04-03 11:39:55 · 6485 阅读 · 0 评论 -
值传递和引用传递
样例 1: 下列程序的输出结果? public class Test { public static void test(StringBuffer str1, String str2) { str1.append(", World!"); str2 = "World"; } public static void main(String[]原创 2017-04-03 11:37:36 · 6060 阅读 · 0 评论