Java开发
Java开发
当当和嘟嘟
prefer girlfriend than code
展开
-
请求转发和重定向的区别
Servlet中请求转发request.getRequestDispatcher("BServlet").forward(request, response);Servlet中重定向response.sendRedirect("BServlet");springmvc的controller中请求转发@RequestMapping("/forwardController")...原创 2019-04-22 22:59:49 · 128 阅读 · 0 评论 -
仿射密码的加密解密
仿射密码的加解密代码因为加密的为英文字母以及数字,所以模数选择26+10=36.再选一个k1为一个与36互素的数字.再任意选一个k2求除k1在模36下的逆元k3.(欧几里得除法,代码也可实现,这里没写,直接给出)加密为: c=(k1*m+k2)mod36解密为: m=((c-k2)*k3)mod36代码package com.jingfei.Encryptoin;import ...原创 2018-12-19 22:45:24 · 11139 阅读 · 0 评论 -
Java二叉树前中后序遍历,前中后序查找,删除结点
结点二叉树前序遍历,中序遍历,后序遍历前序查找,中序查找,后序查找删除结点public class BiraryTreeDemo { public static void main(String[] args) { TreeNode root = new TreeNode(1); TreeNode node2 = new TreeNode(2); ...原创 2019-10-17 22:24:10 · 184 阅读 · 0 评论 -
Java图形化界面输入输出
JavaGUI,输入输出框,多选按钮,资源管理器,文件上传,重置图形化,滚动条。package com.westos.gui;import com.westos.codeaudit.catchcode.entity.VersionManage;import com.westos.core.DoScan;import com.westos.utils.JTextFieldHintList...原创 2019-07-21 14:40:39 · 16548 阅读 · 3 评论 -
手写Java线程池
先看一下阻塞队列1、ArrayBlockingQueue:是一个基于数组结构的有界阻塞队列,此队列按 FIFO(先进先出)原则对元素进行排序。2、LinkedBlockingQueue:一个基于链表结构的阻塞队列,此队列按FIFO (先进先出) 排序元素,吞吐量通常要高于ArrayBlockingQueue。静态工厂方法Executors.newFixedThreadPool()使用了...原创 2019-10-17 21:19:04 · 211 阅读 · 0 评论 -
mybatis逆向工程
逆向工程:用数据库的表,生成实体类,和mapper.xml,与mapper.java接口在我的资源中项目包下载项目导进来后,先删除原来我已经生成的com.xx.entity和com.xx.mapper,然后打开generatorConfig.xml文件修改以下几个信息。修改数据库连接信息。mydb是我的数据库库名。(必须的)修改生成实体类和mapper文件的包名(可...原创 2019-05-02 13:08:30 · 191 阅读 · 0 评论 -
Java多线程中集合遍历并发修改异常解决办法
java.util.ConcurrentModificationException异常使用并发集合替换掉原集合可以实现并发修改安全。原集合并发集合注意HashMapConcurrentHashMap<K,V>Hashtable虽然线程安全但不支持并发修改LinkedHashMapConcurrentSkipListMap<K,V>支...原创 2019-07-19 23:01:18 · 1004 阅读 · 0 评论 -
数组二叉树
二叉树的下标关系根节点n=0左结点(2n+1)右结点(2n+2)根据数组下标与之的对于关系得到数组二叉树。public class ArratBinaryTreeDemo { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7}; ArrayBinary...原创 2019-10-17 22:32:44 · 1163 阅读 · 0 评论 -
懂的都懂windowsxp
windowsxp1024加油!原创 2022-10-24 09:26:45 · 330 阅读 · 1 评论 -
斐波那契数列Python和Java
Fibonacci sequencepython结果:Java斐波那契数列前30项1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229递归不一定好用,有的场景中,递归会使得效率降低,数字大的话,递归...原创 2018-11-21 13:41:29 · 801 阅读 · 1 评论 -
springmvc和Servlet设置请求乱码和响应乱码(过滤器)
一、 servlet中请求乱码就是浏览器输入的数据提交给服务器后,服务器端接收到后乱码。解决:request.setCharacterEncoding("utf-8");注意:一定要在调用request.getParameter()之前加上。不能在其之后。响应乱码服务器端将数据响应给浏览器后,浏览器看到乱码。解决:response.setContentType("text/html...原创 2019-04-21 20:34:58 · 526 阅读 · 0 评论 -
Tomcat7.0和eclipse集成
一、安装tomcat7.0文件此处下载将此文件解压后,我是放到E盘下的。1.打开eclipse切换到javaEE2.点击servers3.选择与tomcat对应的版本4.选择tomcat安装目录5.选择jdk安装目录6.最终选择的结果6.完成之后7.最终完成8.右键start开启服务器,在console中看到我的端口为80.(我改过了。后面说这么改)测试:...原创 2019-04-20 21:57:43 · 848 阅读 · 0 评论 -
eclipse build path时候说是内嵌包Cannot nest ‘com/xxx‘ inside library ‘com‘
在项目的.setting文件中找到org.eclipse.wst.common.component文件,打开后看到一下在里面寻找有没有出现嵌套的情况,有的话删除。比如下面就存在嵌套,以你为com中本身就有jf,所以com/jf就嵌套了:,若你的com下还有别的包,那就删除com/jf,如果com/下只有一个jf包,那么删除这两个其中一个都行。科普建项目后,Eclipse项目中系统文件介绍文件比如.classpat,.project,.settinghttps://www.cnblogs.com原创 2020-08-30 15:18:19 · 645 阅读 · 0 评论 -
你不知道的Java输入输出
java输入输出无空格的字符串输入有空格的字符串的输入输出输入整型数字无空格的字符串输入代码import java.util.Scanner;public class enter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ...原创 2018-11-20 23:17:12 · 399 阅读 · 0 评论 -
序列密码的加密解密
序列密码加密代码:解密代码:输入一串字符串,利用产生的随机序列对字符串的每个字符逐个逐比特异或,产生的数,ASCII值变为对应的字符。加密代码:package com.jingfei.Encryptoin.com.jingfei.xulie;import java.math.BigInteger;import java.util.Scanner;public class XuLie...原创 2018-12-27 22:07:43 · 3206 阅读 · 0 评论 -
Servlet分析其生命周期和工作流程
Servlet生命周期1.添加servlet的jar包2.新建一个Servlet3.写包名,Servlet名,点击next4.next5.注意,选择重写的方法,勾选init初始化,destroy销毁方法6.servlet测试代码package com.xx.Servlet;import java.io.IOException;import javax.servlet....原创 2019-04-20 22:38:13 · 226 阅读 · 0 评论 -
activeMQ简单示例
消息队列:消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ。为什么使用消息队列?消息队列有什么好处请看?https://www.zhihu.com/question/54152397?sort=created在官网下载下载完毕解压,安装对应的系统位数打开bat文件启动成功:(如果出现wrapper失败原创 2020-07-05 18:10:29 · 984 阅读 · 0 评论 -
置换密码的加密解密
Java实现置换密码代码代码分组长度为7加密顺序为{5, 3, 2, 0, 6, 4, 1}package com.jingfei.Encryptoin;import java.util.Scanner;public class ZhiHuan { public static void main(String[] args) { final char[] ...原创 2018-12-19 21:27:34 · 11414 阅读 · 0 评论 -
求大素数Python和Java
求100000以内的质数python最坏算法Java最差算法优化算法python质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。python最坏算法先求100以内的代码这里的else很秀for i in range(2,1000): for j in range(2,i): if(i%j==0):...原创 2018-11-26 21:05:20 · 1355 阅读 · 0 评论 -
Java单链表
首先链表是顺序表,由许多个结点组成,元素在内存中可以不连续,结点中存放的为当前结点的值和指向下一个结点的指针(引用),由于多存储了结点的引用,所以对于数组来说,存储空间变大。首先定义一个链表结点id和name是结点的值,next是指向下一个结点的指针。class Node { public int id; public String name; Node next ...原创 2019-10-17 21:34:46 · 528 阅读 · 0 评论 -
区别线程名称this.getName()和Thread.currentThread().getName()
多线程中线程名字转自 线程名区别this.getName()和Thread.currentThread().getName();最近在看Java多线程编程技术–高洪岩 著,这本书。里面的currentThread方法这节中写到currentThread()方法可返回代码段正在被哪个线程调用的信息。代码如下:package com.rework.thread.threadgetName...原创 2019-06-20 16:59:43 · 249 阅读 · 0 评论 -
Log4j日志文件配置,rootLogger根配置以及日志级别
Log4j 根配置语法(最简单常用)log4j.rootLogger = [ level ] , appenderName, appenderName, …例如:log4j.rootLogger=INFO, Console ,FileINFO表示日志级别,Console和File代表输出位置,与下文对应log4j.rootLogger=INFO, Console ,File #Console log4j.appender.Console=org.apache.log4j.Conso原创 2020-08-22 00:49:02 · 12221 阅读 · 3 评论 -
java 判断数值区间是否有重叠
两个区间如果重叠,可能的情况如下:1、2为两区间相交3、4位两区间包含其中红色区域为先交/重叠/包含部分区域。两个区间如果不重叠,可能情况如下:结论:总结1 . 满足max(A.left,B.left)<=min(A.right,B.right),即重复总结2 . 满足A.right< B.left|| A.left> B.right,即不重复代码:public static void main(String[] args) {System.out.println(原创 2021-08-12 14:15:29 · 4903 阅读 · 0 评论 -
EL(expression language)表达式
expression language表达式语言在JSP中,用EL表达式来简洁的访问数据语法${表达式}例如${3/2},结果为1.5empty非空运算符${empty ""} 空串返回true${empty list} 长度为0的的列表返回true${empty obj} 判断对象jsp中四个作用域对象分别为pageContext、request、session、a...原创 2019-04-23 18:20:29 · 231 阅读 · 0 评论 -
Java项目拿到当前项目所在目录
Java项目拿到当前项目所在目录两种方式String projectPath1 = System.getProperty("user.dir");System.out.println("projectPath1==" + projectPath1);File dir = new File(""); //参数为空String projectPath2 = dir.getCanonic...原创 2020-03-02 13:39:08 · 439 阅读 · 0 评论 -
平原上,一群蜜蜂离开蜂巢采蜜,要连续采集5片花丛后归巢,已知5片花丛相对蜂巢的坐标,请你帮它们规划一下到访花儿的顺序,以使飞行总距离最短。
蜂巢在坐标(0,0)的位置,有五处花丛,蜜蜂从蜂巢出发,要把五处花丛的花蜜采完再回到蜂巢,最短距离是多少。输入说明:一行输入,10个数分别是五处花丛的坐标(x1,y1,x2,y2,x3,y3,x4,y4,x5,y5),用空格隔开。输出说明:输出最短距离,距离向下取整。时间:C/C++5秒其他10秒平原上,一群蜜蜂离开蜂巢采蜜,要连续采集5片花丛后归巢,已知5片花丛相对蜂巢的坐标,请你帮它们规划一...原创 2020-03-11 22:39:03 · 1954 阅读 · 0 评论 -
1024的前夕
不妨放下手中的工作,和大家分享这 四 年旅程中的收获、你的技术成长。今天,距离你第 1 次创作已经过去了 1461 天,四 年时间整。可能虽然日常忙碌但你还在坚持创作、可能初心还在但博客已良久未更新。我们也为你准备了 周年纪念勋章 作为感恩,以及 里程碑专区 ,您的。也许是立志成为一名专业 IT 作者、也许是记录一段刚实践的经验。四 年过程中,相信你已经获得了更大的成长。在这平凡的一天,你赋予了它不平凡的意义。但在那一刻,你已在创作这趟旅程中出发。但创作这份心情,任何时刻你打开都新鲜。原创 2022-10-22 09:49:35 · 298 阅读 · 2 评论 -
java i+=i++,i+=++i
解释:i+=++i相当于i=i+ ++i;相当于1+ ++1 = 1+2=3;解释:i+=++i相当于i=i+ i++;相当于1+ 1++ = 1+1=2;问:i++,和++i的运算级高,为什么加完之后没有赋值给第一个i?答:因为加的时候,从前往后,依次进入栈空间计算,i=i+ ++i时,第一个i此时是1进入栈,第后面的i,自增完后进入栈,再......原创 2022-06-17 13:28:48 · 1250 阅读 · 0 评论 -
Java根据学生年龄对学生对象排序(四种方法)
Java根据学生年龄对学生对象排序方法一1.写出实体Student类package com.jingfei;public class Student implements Comparable{ private String name; private int age; public String getName() { return nam...原创 2019-04-16 20:56:13 · 9886 阅读 · 0 评论 -
取出礼品盒中的礼品 0代表礼品,()代表包装盒,至少拆几次可以拿到礼品
取出礼品盒中的礼品0代表礼品,()代表包装盒,至少拆几次可以拿到礼品(((0))),3次(((())(0)())), 3次代码:import java.io.IOException;public class Main1 { public static void main(String[] args) throws IOException { int sol...原创 2019-09-11 17:15:15 · 217 阅读 · 0 评论 -
重启或者重新加载后session中用户信息丢失
重启或者重新加载后session中用户信息丢失问题来源:在写一个拦截器的时候,拦截当用户登陆后,才可以访问资源,用户没有登陆的时候,不能访问非jsp资源。在controller中写了login方法,用于验证登陆,并用session保存,由于session默认生存时间是30分钟,所以只需要登陆一次,就可以访问别的资源了。但是当服务器重启或者重新加载后,拦截器都会成功拦截,并没有登陆成功。原因...原创 2019-04-22 19:17:51 · 2071 阅读 · 0 评论 -
主键冲突和数据库隔离级别有关?
数据库隔离级别事务隔离级别脏读不可重复读幻读读未提交(read-uncommitted)是是是读提交(read-committed)否是是可重复读(repeatable-read)否否是串行化(serializable)否否否假设:A表,trans_date和pid为联合索引主键,B表pid为主键目前并发情况下,需要将一行数据(主键相同)插入A表。当第一个事务插入成功后,后续事务不在插入,直接拿来用。(别问为啥不在外面插入好原创 2021-12-09 21:20:36 · 697 阅读 · 0 评论 -
连接池DBCP、C3P0、Druid(德鲁伊)和dbutils
连接池负责分配,管理,释放数据库连接,允许应用程序重复实验一个现有的数据库连接。DBCP方式:先添加jar包再依赖于项目硬编码方式 (用户名密码等自己写)代码:package com.jingfei.connectionpool;import java.sql.Connection;import java.sql.PreparedStatement;import jav...原创 2019-04-02 13:00:37 · 1457 阅读 · 0 评论 -
【Java学习】创建线程3种方式和获取线程池(24)
创建线程三种方式方式一:定义一个类,继承Thread类,重写其中的run方法,在主方法中创建你定义的这个类的对象,调用start()方法定义的线程类:package com.jingfei.homework;public class Mythread extends Thread { @Override public void run() { Sys...原创 2019-01-20 23:20:49 · 701 阅读 · 0 评论 -
【Java学习】Java局部变量,成员变量,静态变量之间区别(7)
局部变量,成员变量,静态变量成员变量各种类型的默认值如下:类型默认值byte/short/int/long0char‘\u0000’float/double0.0booleanfalse引用数据类型比如String/二维数组arr[5][]中的arr[0]null----------------------------------...原创 2018-12-11 21:14:38 · 152 阅读 · 0 评论 -
数据库事务
数据库事务指的是一组最小的逻辑操作单元,组成事务的每一个部分,要么全部执行,如果有某一步执行行错误,整个操作,要回滚到最初开始的状态。事务的4大特性原子性...原创 2019-04-01 21:22:54 · 333 阅读 · 0 评论 -
Java连接MySQL数据库(JDBC)
JDBC Java database connectivity翻译:Java连接数据库是Java定义的一套规范(接口)导入数据库驱动jar包,右键依赖项目;加载驱动jar包(反射);获取连接对象 ;获取操作对象;项目下新建lib文件夹,导入jar包,右键依赖与项目。package com.westos.demo;import java.sql.*;public clas...原创 2019-04-01 12:02:01 · 1034 阅读 · 0 评论 -
各种可能性的StringBuffer扩容详解
StringBuffer扩容之前学过c++向量Vector自动扩容,就是初始容量2倍扩容。看了好多说扩容的,感觉自己还是有点模糊,今天就在Java中试了试,现在终于好像明白了。现在只是说的容量。长度为实际容器中元素的个数,这里先不说。一、空参构造StringBuffer()默认容量为16,长度当然为0(没有添加任何元素) StringBuffer stringBuffer = new...原创 2019-03-19 17:48:04 · 569 阅读 · 0 评论 -
【Java学习】统计字符串中字符重复出现的个数Map(K,V) (19)
set与map方法1方法2方法3方法4案例:统计字符串aasdsaaadccdc中的重复字符的个数打印格式:a(5) c(3) d(3) s(2) 方法1思路:根据set集合的去重复性,先拿到其中的键根据键与字符串中的字符一一比较,个数++;package com.westos.morning;import java.util.*;/** * @Author: ...原创 2019-01-17 15:54:45 · 1990 阅读 · 0 评论 -
【Java学习】键盘录入学生成绩并存储到txt文本中永久保存(18)
IO流将数据保存到本地可以遍历数组,遍历集合将里面的数据通过IO流写入txt.若要拿到数据,可以将txt中的元素读入一行,Bufferedreader中的特有方法 readline().或按字符读入,缓冲区读入.https://blog.csdn.net/qq_43371004/article/details/86513355案例:将学生的成绩输入按照总分高低排序,并存到txt文本文...原创 2019-01-17 13:34:17 · 3129 阅读 · 0 评论