![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
JINGBIN_CHEN
多学习多进步
展开
-
两层for循环实现右上角打印
目录两层for循环实现右上角打印的六种不同顺序第一种顺序实现第二种顺序实现第三种顺序实现第四种顺序实现第五种顺序实现第六种顺序实现总结方法其他话题最终代码两层for循环实现右上角打印的六种不同顺序第一种顺序实现效果图如下: /** * 0 1 2 3 * 0 0 4 5 * 0 0 0 6 * @return */public static int[][] show1(){ int[][]原创 2020-11-21 12:35:21 · 325 阅读 · 0 评论 -
暴力破解带有密码的压缩文件
一 暴力破解,就是不断生成新的密码去尝试能否破解成功。假如我们的密码位数为3位,其里面的值有可能是0或者1,其产生的密码集的数量为2的3次幂,也就是八个,然后一个一个去破解。而这生成这8个密码的过程就有一个递归规则存在。我们传入深度deep和对应字符串passwd两个参数,如果深度为1,直接输出字符串passwd,如果深度不为1,把深度deep减一,并把可能存在的字符串集合[0,1]遍历,添加...原创 2020-03-01 14:19:14 · 19629 阅读 · 1 评论 -
算法题分析
【题目描述】 在主城站街很久之后,小萌决定不能就这样的浪费时间虚度青春,他打算去打副本。 这次的副本只有一个BOSS,而且BOSS是不需要击杀的,只需要和它比智力……. BOSS会列出一正整数的序列,由小萌先开始,然后两个人轮流从序列的任意一端取数,取得的数累加到积分里,当所有数都取完,游戏结束。 假设小萌和BOSS都很聪明,两个人取数的方法都是最优策略,问最后两人得分各是多少。 输入原创 2017-11-16 10:51:47 · 309 阅读 · 0 评论 -
redis伪集群部署
今天要部署一个redis伪分布式的集群,因为所有的redis实例都在一台机器上,只是他们的端口不同。首先了解redis是什么。Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:字符串类型散列类型列表类型集合类型有序集合类型。系统的环境是ce原创 2017-11-22 10:55:26 · 387 阅读 · 0 评论 -
mybatis缓存机制
MyBatis 提供了查询缓存来缓存数据,以提高查询的性能。MyBatis 的缓存分为一级缓存和二级缓存。一级缓存是 SqlSession 级别的缓存 二级缓存是 mapper 级别的缓存,多个 SqlSession 共享一级缓存一级缓存是 SqlSession 级别的缓存,是基于 HashMap 的本地缓存。不同的 SqlSession 之间的缓存数据区域互不影响。一级缓存的作用域是 SqlSe原创 2017-12-15 16:52:26 · 182 阅读 · 0 评论 -
设计模式-单例模式
比较常说的单例模式也就是懒汉模式和饿汉模式,今天写上其他三种实现的方法。(1使用static块创建2使用静态内置类3使用静态枚举) 单例模式,顾名思义也就是我只生成一个实例供给别人使用。 具体的看一下代码那就知道怎么写了//单例模式(饿汉模式)public class Singleton { private Singleton(){} private static Single原创 2017-12-27 16:34:42 · 189 阅读 · 0 评论 -
最长公共子序列
最长公共子序列最长公共子序列与最长公共子串的区别在于最长公共子序列不要求在原字符串中是连续的,比如ADE和ABCDE的最长公共子序列是ADE。我们用动态规划的方法来思考这个问题如是求解。首先要找到状态转移方程:符号约定,C1是S1的最右侧字符,C2是S2的最右侧字符,S1‘是从S1中去除C1的部分,S2’是从S2中去除C2的部分。LCS(S1,S2)等于下列3项的最大者:(1)LCS(S1,S2’)原创 2017-12-19 16:13:05 · 195 阅读 · 0 评论 -
Hadoop单机部署(转)
转载,来源于https://www.cnblogs.com/ee900222/p/hadoop_1.html1. Hadoop介绍Hadoop是一个能够对海量数据进行分布式处理的系统架构。Hadoop框架的核心是:HDFS和MapReduce。 HDFS分布式文件系统为海量的数据提供了存储, MapReduce分布式处理框架为海量的数据提供了计算。 2. Hadoop安装2.1 安装转载 2017-12-28 11:13:21 · 308 阅读 · 0 评论 -
如何在springmvc 中返回jsonp格式
在这里需要使用springmvc4.1或之上的版本。 需要继承MappingJackson2HttpMessageConverter这个类,重写writeInternal方法。 基本步骤: 1写继承MappingJackson2HttpMessageConverter的类package com.ljlx.filter;import java.io.IOException;import jav原创 2018-04-25 19:06:06 · 1675 阅读 · 0 评论 -
WIN7系统TortoiseSVN右键没有菜单解决办法
方法/步骤1 判断win7操作系统是32位版本还是64位版本(右键我的电脑-属性查看),安装正确版本的TortoiseSVN。(先卸载之前的版本)下载地址:https://tortoisesvn.net/downloads.html2 进入:开始–程序–TortoiseSVN–Setting–Icon Set选择Mufwin7。3 (一)开始–运行–输入“regedit”进入注册表;(二)进入原创 2017-10-17 10:09:51 · 1112 阅读 · 0 评论 -
update 小异常
当我把表里面一个null字段加一变成1时,发现还是为null使用ifnull(age,0)函数去处理,因为这里使用的是mysql. sqlserver 使用isnull. 测试后的结果:原创 2017-11-08 10:47:26 · 538 阅读 · 0 评论 -
错误:HttpServlet was not found on the Java
原因是缺少server runtime,需要在项目中添加server runtime。 右击项目-》build path ->configure build path ->add Library->server runtime->选中运行的classpath->finish->ok原创 2017-10-12 14:20:40 · 192 阅读 · 0 评论 -
eclipse新建maven webapp后无法添加src/main/java和src/main/test
1.eclipse->window>preferences->java->compiler->选择本地要用的Java版本 2.eclipse->window>preferences->java->installJars->修改为本地jdk 3.项目右键->buildPath configure Build Path->点击选项卡Libraries->选中JRE System Library->原创 2017-10-12 14:05:14 · 215 阅读 · 0 评论 -
GC里面的算法
垃圾回收的算法: 1引用计数法。 2标记清楚法。 3复制法。 4标记压缩法。 5分区法。 6分代法。原创 2017-09-14 13:27:36 · 181 阅读 · 0 评论 -
JFreeChart中文乱码解决方案
设置主题的样式(强烈推荐) 在制图前,创建主题样式并制定样式中的字体,通过ChartFactory的setChartTheme()方法设置主题样式。//创建主题样式 StandardChartTheme standardChartTheme=new StandardChartTheme("CN"); //设置标题字体 standardChartTheme.setExt原创 2017-10-11 11:22:05 · 451 阅读 · 0 评论 -
java代码使用ftp上传图片失败的一个问题
使用 apache common net 里的 FTPClient,往 FTP 服务器上,上传文件,我在使用ftp工具都可以直接拖到虚拟机上的ftp服务器的文件夹里面,代码上传却 报错:java.net.SocketException: Software caused connection abort: recv failed 反复检查好多遍,io流和登录ftp服务器都是ok的,实在是百思不得其转载 2017-08-16 09:29:36 · 2086 阅读 · 1 评论 -
盗链和反盗链
盗链,说白了也就是利用别人网站的链接去获取别人网站里面的图片或者视频等(导致一些网站的收入减小)。而我们常见的防盗链的方法是:设置一个拦截器filter获取request的referer来判断是否是这个网站的,如果是那就获取资源,否则显示提示本网站禁止盗链,并获取浏览人的IP并做记录,为后续处理。还有一些防止盗链的方法那就是通过session,对下载的资源进行会员制管理,如果这个会员登录了本网站,那原创 2017-10-03 21:00:10 · 2048 阅读 · 0 评论 -
Mybatis传递多个参数的解决办法(三种)
第一种方案DAO层的函数方法Public User selectUser(String name,String area); 对应的Mapper.xml select * from user_user_t where user_name = #{0} and user_area=#{1} 其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参...转载 2018-07-26 11:54:13 · 228 阅读 · 0 评论 -
springboot+swagger导出文档
1maven配置 <!--swagger 基础jar --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <...原创 2019-08-13 12:08:01 · 3070 阅读 · 2 评论 -
maven install时报错Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin 问题方法
针对上面的问题有两种解决办法:1使用命令行解决mvn clean package -Dmaven.test.skip=true 2在pom.xml文件中添加插件信息 <plugin> <groupId>org.apache.maven.plugins</groupId> <art...原创 2019-08-13 17:27:01 · 669 阅读 · 0 评论 -
mysql插入更新操作
同一条数据多次插入到数据库中,会形成脏数据,解决的办法是加上唯一索引,之后的操作会先在数据库中查找有没有存在这样一个唯一索引,如果不存在的话会往数据库里面插入一条新的数据,如果存在的话会进行更新的操作。如果在高并发的情景下上述操作不是原子性。解决的办法可以使用mysql 的关键字ON DUPLICATE KEY UPDATE。具体SQL展示如下INSERT INTO tbl_data_mete...原创 2019-06-06 14:54:29 · 2618 阅读 · 0 评论 -
spring事务无效原因总结
spring 事务目前有二种,声明式(declarative transaction)和编程式(programming transaction)。我们常用的有@Transactional去实现,而使用注解实现,那就会涉及到代理模式,而常用的有两种,一种是针对没有接口的cglib,另外一种就是针对有接口的jdk动态代理。使用@Transactional无效的可能有:1同一个类中,一个没有使用@...原创 2019-05-31 21:48:28 · 285 阅读 · 0 评论 -
idea springboot项目开启远程调试
简介:1为什么需要远程调试?其原因比较简单,就是生产的环境比我们平时开发和测试的都要复杂。2远程调试需要注意的是什么?远程调试的代码和本地需要一致,否则调试的结果不正确。步骤:启动项目项目打包成jar包,正常的启动命令是:java -jar demo.jar而现在需要远程调试,那就在上面的命令上添加上一些参数,如下:java -Xdebug -Xrunjdwp:server...原创 2019-04-05 15:04:57 · 2314 阅读 · 1 评论 -
git pull 和本地代码冲突的处理
多人协同开发,会出现各种冲突,比较常见的是我和别人同时修改同一个文件,别人修改好后上传到git仓库,我需要拉取他修改的代码和我本地的代码合并。当我们使用git pull时会出现报错信息,需要我们自己手动去合并。这里有一个比较简单的操作:1、先将本地修改存储起来$ git stash这样本地的所有修改就都被暂时存储起来 。其中stash@{0}就是刚才保存的标记。2、pull内容暂存...转载 2019-02-25 21:03:33 · 5287 阅读 · 0 评论 -
springcloud项目出现的问题记录
1.eureka注册某个服务,需要多个同样这个服务,需要他们的spring.application.name一样,而eureka.instance.instance-id不一样即可。2部署服务的时候出现zuul找不到对应的服务,查找发现,对应的服务ip地址不一样,其原因可能是部署服务的机器多网卡,那就需要在找不到服务的这个工程的application.yml文件中添加上eureka.instan...原创 2019-02-15 22:43:37 · 795 阅读 · 0 评论 -
jdk动态代理实现
说jdk动态代理模式,先来说一下什么是代理模式,顾名思义,就是别人需要做的活让其他人代理做了。比较常见的是,我需要买火车票,我现在没有办法去火车站购买,找到离我最近的火车票代理点购买火车票。而jdk实现的代理模式实现起来比较简单,重写接口方法,但是业务模块需要实现接口才能使用jdk的代理模式。重写的接口之前还需要了解一个东西,那就是java的反射机制,这里不详细说反射机制。JDK动态代理所用到的...原创 2019-02-07 12:28:51 · 187 阅读 · 0 评论 -
分组查询出最新的记录
本人使用MySQL 5.7,子查询里面进行排序后再进行分组操作,取出的数据为最老的一条数据。换一个方法实现,使用substring_index函数和group_concat实现select SUBSTRING_INDEX(group_concat(id order by `freeze_time` desc),',',1) as id from tab_machine_fields group...原创 2019-01-15 15:07:56 · 1059 阅读 · 0 评论 -
实时排名算法简单分析
需求分析排名这个需求在比较多的项目中都有出现过,大家对此都不会感到太陌生,排名需要满足一下需求:1查询用户所在的名次。2查询前N名的用户。3实时排名。解决的办法有:一数据库解决方案单表操作...原创 2019-01-15 15:02:57 · 3640 阅读 · 0 评论 -
每用户每天最多访问n次接口思路分析
上述标题的描述,我们知道要让一个用户在这一天中只能访问n次这个接口,那就有一个计数器的问题,我们可以选用redis去实现,redis有过期时间,而普通数据库mysql,把数据取出后加一重新插入到数据库中,接口数据量不大,mysql读写基本还是可以实现的,但是在大量的数据涌入,频繁的读写数据库,数据库的压力会越来越大,最后可能会宕机。计数器是 Redis 的原子性自增操作可实现的最直观的模式了,它...原创 2018-11-27 11:40:44 · 542 阅读 · 0 评论 -
spring cloud config使用svn作为仓库
springcloud config 默认是使用git,但是比较多的公司还是使用svn。这里我使用svn来作为仓库来配置config server .config serverpom.xml文件<dependencies> <dependency> <groupId>org.springframework.boot&...原创 2018-11-08 17:40:44 · 702 阅读 · 0 评论 -
Idea git回滚版本
第一步:点击项目右键git->Show Histroy ->选择需要回滚的版本,右键Copy Revision Number第二步:方法一:之后在TerMinal上输入命令git reset --head XXXXXgit push -f -u origin master.方法二:a.右击项目依次选中:git->Repository->Reset HEADb. 选...原创 2018-11-07 10:49:05 · 25498 阅读 · 2 评论 -
API接口的防重放
我们在设计API接口时,最怕的莫过于同一个接口给用户截获重放提交,那什么是重放提交:对同一个请求发送多次到后台,对系统产生异常影响。应对的策略有:1使用时间戳timestamp。2使用nonce,什么是nonce呢? nonce = MD5(timestampe+rand(0,1000))3使用timestamp+nonce通常是使用第三种的方法去处理。服务端1第一次接受请求,对请求...原创 2018-10-06 23:02:26 · 4715 阅读 · 0 评论 -
springboot 使用@Bean 好处与坏处
相信使用过springboot 的人都有用过@Configuration加上@Bean去注册一个bean 对象,这样我们就不用再去写xml文件去注册bean对象。 而@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的< beans>,作用为:配置spring容器(应用上下文), @Bean标注在方法上(返回某个实例的方法),等价于spring的...原创 2018-09-07 23:39:08 · 14376 阅读 · 1 评论 -
Springboot 项目出现java.lang.ArrayStoreException问题思考
参考文献:https://blog.csdn.net/hengyunabc/article/details/79475505使用springboot 2 构建项目,调试代码的时候出现了如下的报错信息Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name...原创 2018-08-18 11:22:20 · 16441 阅读 · 1 评论 -
nginx for Windows入门使用及作为图片服务器的用法
项目中使用到nginx(win平台下)作为图片服务器,现记录一下基本配置,备忘。首先下载nginx,我下的是nginx-1.7.2,然后解压,然后使用cmd进入解压目录后,输入nginx,启动nginx。我遇到的问题是80端口被占用了:解决方法也不复杂,就是关闭80端口,方法如下:1.打开命令行,输入netstat -ano,找到本地地址为0.0.0.0:80对应的PID:2.打开任务管理器原创 2017-08-10 14:29:38 · 377 阅读 · 0 评论 -
JAXB使用
使用jaxb,可以简单的在java对象和xml之间的转换,具体参考javaAPI文档里面的软件包 javax.xml.bind。需要了解三个类:JAXBContext,Unmarshaller,Marshaller。import javax.xml.bind.annotation.XmlRootElement;@XmlRootElementpublic class Student { pr原创 2017-09-21 18:01:53 · 370 阅读 · 0 评论 -
Eclipse中提交svn时过滤.project、.settings、.classpath等资源文件
Window -> Preferences -> Team -> Ignored Resources ->add Patern原创 2017-10-17 17:51:38 · 2603 阅读 · 0 评论 -
AJAX总结
学知识久了之后需要去总结一下。 对于AJAX这个词,大家不会陌生,因为网络异步加载常常会用到这个技术。首先看一下w3c文档,里面是这样对ajax介绍的: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 是与服务器交换数据并更新部分网页的艺原创 2017-02-26 21:26:39 · 193 阅读 · 0 评论 -
红黑树(一)
昨天已经写了一个二叉树,不过那个是一个非平衡二叉树,对于插入乱序的数据那是有一定的优势的,不过当插入的数据都是有序的(顺序或者是逆序)那执行的效果就不怎么好了。那有没有办法去解决这个问题,有,那就是今天要讲得红黑树,也就是平衡二叉树。红黑树的特征:节点都有颜色在插入和删除的过程中,要遵循保持这些颜色的不同排列的规则红黑规则当插入(或者删除)一个新节点时,必须要遵循的一定规则,下面介绍一下这些规原创 2017-02-15 21:12:17 · 198 阅读 · 0 评论 -
分页实现
今天来说一下分页实现,我用的是mysql、jdbc、jsp去实现分页。 mysql使用limit而oracle使用的的是top去实现分页。首先是定义一个商品类,下面是代码:/** * 商品类 * @author chenjingbin * */public class Product { /** * 页面大小 */ public static fin原创 2017-02-23 18:39:39 · 291 阅读 · 0 评论