
java
白学家Lynn
不要打死我
展开
-
通俗理解AQS原理及与Reentrantlock的关系
面试时候一个很常见的问题,就是AQS的理解,往往问到Reentrantlock之后,面试官会问,你知道Reentrantlock的实现吗?ReentrantlockReentrantlock翻译过来就是可重入锁,通俗的讲,就是如果一个线程获取到了这个锁,他可以再次获取。但是释放的时候,如果获取了10次,也需要释放10次才能完全释放完毕也就是说,这里lock 10次,需要unlock...原创 2019-10-13 01:02:52 · 983 阅读 · 0 评论 -
蓝桥杯之包子凑数
标题:包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然...原创 2018-03-29 21:07:13 · 680 阅读 · 0 评论 -
蓝桥杯之9数算式
观察如下的算式: 9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次。 而乘积恰好也是用到了1~9的所有数字,并且每个1次。 请你借助计算机的强大计算能力,找出满足如上要求的9数算式一共有多少个? 注意: 1. 总数目包含题目给出的那个示例。 2. 乘数和被乘数交换后作为同一方案来看待。思路:数据量很大,如果无脑for循环将会造成O(n3)的复...原创 2018-03-29 23:19:17 · 2198 阅读 · 2 评论 -
蓝桥杯之承压计算
标题:承压计算X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。每块金属原料的外形、尺寸完全一致,但重量不同。金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 9 2 7 ...原创 2018-03-27 19:51:49 · 462 阅读 · 0 评论 -
蓝桥杯之高斯日记java快速解法
题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯, 它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。 在高斯发现的一...原创 2018-03-27 21:24:59 · 736 阅读 · 0 评论 -
SpringMVC(Springboot)返回文件方法
项目需要生成excel表格,然后返回给用户,用户需要下载这个excel表格,所以封装了一下返回文件流的方法public ResponseEntity<FileSystemResource> export(File file) { if (file == null) { return null; } HttpHeaders headers = ne...原创 2018-04-15 22:01:30 · 16746 阅读 · 4 评论 -
Java将文件转换成UTF-8无BOM格式
做工程时候,需要用到utf-8无BOM格式的txt文件,所以写了个转换工具类大致原理是,UTF-8无BOM开头会多几个字节,这个程序把原本文本保存下来,在开头多写入几个字节,再把源文本写回去package net.forestpolice.lawsearch.utils;import java.io.*;public class FileUtils { public void tu...原创 2018-04-15 22:36:19 · 10227 阅读 · 0 评论 -
java实现简单任意进制互转
思路:输入一个字符串,将他转换成10进制,然后再将10进制的数转换成其他进制java中Integer类有一个相当好用的进制转换功能int num = Integer.parseInt("21A1",11)这句就会自动把21A1这个11进制数转换成10进制。10进制数转换成其他进制就不再赘述,网上有很多一搜一大把。最后上代码,代码还是相当简洁的,缺点是无法应对大数据,有兴趣的同学也可以自行改成Big...原创 2018-03-27 22:27:54 · 2726 阅读 · 1 评论 -
SpringBoot(SpringMVC)添加响应头字符串
@RequestMapping(value = "keyword_dic.html", method = RequestMethod.GET)public String showKeywordDic(HttpServletResponse response) { response.setHeader("Last-Modified",new Date().toString()); ...原创 2018-04-15 22:43:21 · 13083 阅读 · 0 评论 -
java使用BigInteger进行进制转换
在java中,BigInteger类自带三十六进制内任意转换功能简单的就一行代码:String string = new BigInteger("3244",5).toString(30); System.out.println(string);以上意思为把3244这个五进制数转成三十进制的数...原创 2018-03-28 14:56:53 · 8415 阅读 · 0 评论 -
this为什么不能在静态方法中使用
静态方法是存放在方法区中的,此时使用this不能获取到当前类的地址而在类的普通方法中使用this,就能得到当前对象在堆中的地址原创 2019-07-09 13:31:23 · 3983 阅读 · 2 评论 -
ThreadLocal的实际使用场景
我们知道实际开发中会分层,比如Controller-Service-dao层如果说dao层需要调用Controller层中的一个对象,那么该怎么做呢,常见的想法,在每个方法上的参数里面,带上那个对象,如上图所示。这样耦合极大那么改动一下,在最上层的那个类中设置一个静态方法,这样总可以调用了但是这样会有一个极大的问题,就是线程安全问题,如果那个对象是非线程安全的,多个线程同时操作那一...原创 2019-10-11 01:08:23 · 2073 阅读 · 1 评论 -
使用Servlet3.0注解开发
首先建立servlet3.0 版的web.xml因为servlet3.0支持注解开发所以web.xml只保留个模板就好也可以增加一个默认页的配置<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/...原创 2018-03-22 22:46:46 · 410 阅读 · 0 评论 -
并查集入门经典题:畅通工程
Problem Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;...原创 2018-03-18 22:17:34 · 749 阅读 · 0 评论 -
第七届蓝桥杯取球博弈详解
取球博弈两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。假设双方都采用最聪明的取法,第...原创 2018-03-18 17:17:54 · 3709 阅读 · 0 评论 -
spring中用JUnit做单元测试时多个spring配置文件的引入
这是我项目的结构图,可以看到将spring配置文件拆分成了若干个xml文件。这是在web.xml中的引入: contextConfigLocation classpath:spring/applicationContext*.xml org.springframework.web.context.ContextLoaderListener 然后在maven的pom.x原创 2018-01-29 22:41:59 · 2740 阅读 · 0 评论 -
Mybatis使用分页插件PageHelper做分页查询
首先在maven中添加一下依赖:<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.4.2</version></depend原创 2018-02-10 22:01:32 · 653 阅读 · 0 评论 -
MyBatis中insert插入语句得到自增的主键ID
问题:表中的的主键字段是自增的,想使用Mybatis获得刚刚insert语句插入的记录pojo的主键解决:主要在Mapper配置文件中配置两个属性 keyProperty 与 useGeneratedKeyskeyProperty指定主键,注意这里的是你pojo类中的变量名,而不是你表中的字段名我指定的solutionId对应的:而数据库表中:...原创 2018-02-02 23:30:11 · 2669 阅读 · 1 评论 -
Mybatis使用逆向工程mybatisGeneratorCustom生成mapper及pojo
首先下载逆向工程,导入Eclipse中http://download.youkuaiyun.com/download/lynn_coder/10248938打开后发现目录下有一个generatorConfig.xml,进行配置<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-/...原创 2018-02-10 22:17:14 · 835 阅读 · 0 评论 -
使用Spring Security4做权限管理入门
步骤一:新建工程新建一个maven工程,并使用以下依赖:或者去下载Spring Security 的jar包 org.springframework.security spring-security-core 4.2.2.RELEASE or原创 2018-02-07 02:33:52 · 1829 阅读 · 0 评论 -
SpringMVC中几种获取访客IP的方法
核心在获取HttpServletRequest第一种方法:在方法上面的参数列表里打上HttpServletRequest@RequestMapping(value="/index.html",method=RequestMethod.GET) public String index(HttpServletRequest req) { String remoteAddr = req.getRe...原创 2018-02-27 14:59:34 · 18515 阅读 · 2 评论 -
maven错误解决:Failure to transfer
导入maven项目时出现点了问题:failure to transfer org.codehaus.plexus:plexus-utils:pom:3.0首先想到的是到本地的maven 仓库中的把这个包给删除,我的地址是E:\Maven\.m2\repository\org\codehaus\plexus\plexus-utils\3.0把这个文件夹删除然后使用maven----update Pr...原创 2018-03-07 00:16:41 · 8995 阅读 · 0 评论 -
jsp中使用fmt标签库格式化Date对象
问题:我们在jsp中用el表达式输出Date对象时,格式不美观,或者说不符合我们国人的阅读习惯<td><a href="#">${item.startTime}------${item.endTime}</a></td> 解决:使用fmt标签库首先在jsp中引入fmt标签库<%@ taglib prefix="fmt" uri="ht原创 2018-02-14 02:22:24 · 895 阅读 · 0 评论 -
错误解决:Mybatis查不到字符串
今天写代码时,凡是字段是字符串字段的,均查出来0个。但打印的时候却没有什么问题,能正常打印中文,也能查到int作为参数的记录事实上还是因为没有指定编码,在数据库的连接字符串中需要指定UTF-8编码解决:原来:spring: datasource: name: test url: jdbc:mysql://127.0.0.1:3306/law现在:spring...原创 2018-03-14 22:34:12 · 2135 阅读 · 1 评论 -
SpringMVC简单异常处理器SimpleMappingExceptionResolver的使用
在开发中我们经常需要统一处理异常springMVC的异常处理流程:简单异常处理,使用SimpleMappingExceptionResolver在我项目中的注册功能需要有对用户名已经存在,密码格式不符合等作出反应。我们先自定义一个异常,定义message属性用于存放异常的信息package cn.hyit.oj.common.exception;public class RegisterExc...原创 2018-02-28 19:31:53 · 781 阅读 · 0 评论 -
错误解决:java.lang.NoClassDefFoundError: org/springframework/core/ResolvableTypeProvider
在使用spring 单元测试时候发现报了这个异常得知缺少了spring-core包,去mvnrepository中搜索spring corehttp://mvnrepository.com/artifact/org.springframework/spring-core/4.2.4.RELEASE选一个4.2.4复制dependency到项目的pom文件中<!-- https://mvnre...原创 2018-03-08 17:19:44 · 15615 阅读 · 2 评论 -
SpringBoot集成jsp详细教程
springboot的默认模板引擎是thymeleaf,如果想要用jsp,还得进行一些其他的配置。首先在pom文件里面需要引入jsp的相关jar包。<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version...原创 2018-03-10 17:19:47 · 1464 阅读 · 0 评论 -
java连接solr并设置高亮域
关于springboot 和solr 的集成可以看我另一篇文章我的solr里主要存的是法条,有如下几个域id,law_title,law_content其中title和content组成一个复制域,law_keywords下面是我的service层的代码public SearchResult search(String keyword, int page, int rows) throws IOE...原创 2018-03-11 23:01:10 · 1319 阅读 · 0 评论 -
maven分模块搭建空SSM项目
首先需要创建一个聚合的parent 工程博主要搭建一个OJ系统,所以起名叫oj,groupID那边填写组织名称完成后在pom里把这个工程要用的依赖都填进去 4.0.0 cn.hyit oj-parent 0.0.1-SNAPSHOT pom 4.12 4.2.4.RELEASE 3.2.8 1.2.2 1.2.15原创 2018-01-29 22:30:47 · 422 阅读 · 0 评论