Java
文章平均质量分 65
春风吹又生
如果文章有错误或者有问题可以发我邮箱:luobaimang@foxmail.com, 相互交流。
语雀地址:https://www.yuque.com/luobaimang
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[11]解决循环依赖
[11]解决循环依赖什么是循环依赖相互依赖,A类对象中有B类属性,B类对象中有A类属性。两者相互引用,依赖。// A依赖了Bclass A{ public B b;}// B依赖了Aclass B{ public A a;}如何关闭循环依赖public class TestApp { public static void main(String[] args) { AnnotationConfigApplicationContext applicationCon原创 2021-03-03 21:10:00 · 513 阅读 · 2 评论 -
Java-Map在JDK8中新增方法
JDK8–Map新增方法因在看部分源码时,发现用到一些Map的新增方法但是并不知道其具体含义,故了解并整理。computer解释简单点说就是针对key的value重新设值,具体的值取决于自定义函数返回值。自定义函数返回值不等于空,则会将自定义函数返回的value设置成key对应的值。如果key对应的value不等于空但是自定义函数返回值等于空则会删除这个key。V oldValue = map.get(key);// 通过自定义的BiFunction,对key和oldValue处理后返回新的原创 2020-10-22 01:25:26 · 1477 阅读 · 0 评论 -
mybatis动态查询条件
1. 需求:动态传递表名,列名以及条件,然后根据传递的数据返回数据2.项目结构: ‘3. 实现:3.1. 加入配置文件mybatis-config.xml以及CommonMapper.xmlCommonMapper.xml: SELECT原创 2017-12-03 18:54:08 · 3399 阅读 · 0 评论 -
Spring Boot--全局捕捉控制层异常
捕捉异常,自定义返回通过@ControllerAdvice()注解,当控制层发生异常,返回特定的json。给出示例,对于com下面包的控制层出现异常,则捕捉package com.research.common;import org.springframework.http.HttpHeaders;import org.springframework.http.HttpStatus;...原创 2019-10-13 00:03:44 · 347 阅读 · 0 评论 -
Sping Boot--logback日志使用配置
日志默认使用控制台输出,文件输出可选。如果使用starter依赖,默认启用logback。控制台输出激活debug调试模式。在配置文件中加入 debug=true (不是打印所有的debug信息)默认输出 ERROR,WARN,INFO级别信息日志彩色配置:spring.output.snsi.enable=always控制台日志配置:logging: pattern: ...原创 2019-10-12 23:55:52 · 301 阅读 · 0 评论 -
算法竞赛入门-子序列(All in All)
1.题目You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pending patent issues we will not dis...原创 2018-04-12 23:39:53 · 636 阅读 · 0 评论 -
Flink--持久层和Flink进行集成使用
1、场景 采用Flink对实时数据操作, 比如更新或者一些特定的操作等;然后将数据保存;保存的操作有原生jdbc连接; jpa或者Mybatis,Hibernate等;2、解决思路A: 1 启动Spring项目,然后自动注入一些service或者dao; 2 Flink程序监听Spring项目是否启动完毕,启动完毕则启动Flink程序; 结果:经过测试,Flink的程序是独立的,因为它是...原创 2018-04-18 12:41:11 · 5116 阅读 · 1 评论 -
JavaWeb-Maven构建ssh框架
1 环境 搭建SpringMVC+Spring+Hibernate4 ,Maven环境、 需要MySQL 数据库支持,使用的编程工具Eclipse 搭建完毕后的项目架构如下:2 新建Maven项目2.1 新建Maven项目2.2 选择web项目点击【finish】3 新建的项目架构新建完毕,项目报错,并且缺少目录。修改如下:3.1 显示所有的目录目录结构为:src/main/resourcess...原创 2017-08-15 18:57:30 · 932 阅读 · 0 评论 -
JavaWeb-Maven构建ssm框架
1 环境 搭建框架 SpringMVC+Spring+Mybatis ,Maven环境、 需要MySQL 数据库支持,使用的编程工具Eclipse 搭建完毕后的项目架构如下:2 新建Maven项目2.1 新建Maven项目 2.2 选择web项目点击【finish】3 新建的项目架构新建完毕,项目报错,并且缺少目录。修改如下:3.1 显示所有的目录目录结构为:src/main/resourcess...原创 2017-08-14 19:37:42 · 748 阅读 · 0 评论 -
算法竞赛入门-循环小数(Repeating Decimals)
1、题目输入整数a(0<=a<=3000)和 b (1<=b<=3000),输出a/b的循环小数表示以及循环字节长度。例如a=5,b=43,小数表示为0.(116279069767441860465),循环字节长度为21。 2、思路第一步:先算出 a/b 的 商第二步:算出 a%b 的余数第三步:循环计算 (余数远远小于除数,所以需要将余数扩大10倍,然...原创 2018-05-01 22:50:23 · 1433 阅读 · 3 评论 -
算法竞赛入门-盒子(Box )
1、题目给定6个矩形的长和宽wi和hi(1<=w, hi <= 1000),判断它们能否构成长方体的六个面。输入:1345 2584 2584 683 2584 1345 683 1345 683 1345 2584 683输出: POSSIBLE2、思路 两两比较,在之前排序,然后进行0-1比较,2-3比较,4-5比较。最后再判断一次0里面的长宽对应2的长,4的宽或者2和4宽(必须在...原创 2018-05-02 23:52:54 · 944 阅读 · 0 评论 -
算法竞赛入门-换低档装置(Kickdown )
1、题目给出两个长度分别为n1,n2且每列高度只为1或者2的长条,需要将它们放入一个高度为3的容器,问容器的最短长度。输入:211211211222121121212121221212121221122112221212输出:108152、思路这题很简单,主要就是判断n1和n2的高度不能超出3第一步:判断输入的n1和n2的长度第二步:遍历最短的字符串n2,然后同时遍历n1,如果有不满足的高度出...原创 2018-05-03 22:50:17 · 805 阅读 · 0 评论 -
算法竞赛入门-刽子手游戏(Hangman Judge )
1、题目游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母则计算机会在一副“刽子手”画上填一笔,这幅画一共需要7笔就能完成,因此你最多只能错6次。注意猜一个已经猜过的字母也算错。在本题中,你的任务是编写一个“裁判”程序,输入单词和玩家的猜测,判断玩家赢了,(You win.)、输了(You lose.)、还是放弃了(You chi...原创 2018-05-07 22:50:20 · 2018 阅读 · 0 评论 -
算法竞赛入门-救济金发放(The Dole Queue )
1、题目n(n<20)个人站成一圈,逆时针编号为1~n。有两个官员,A从1开始逆时针数,B从n开始顺时针数。在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能两个官员停在同一个人上)。接下来被官员选中的人(1个或者2个)离开队伍。输入n,k,m输出每轮里被选中的人的编号(如果有两个人,先输出被A选中的)。例如,n=10,k=4,m=3,输出为4 8, 9 5, 3 1, 2 ...原创 2018-06-09 18:54:23 · 1098 阅读 · 0 评论 -
算法竞赛入门-信息解码(Message Decoding )
一、题目对于下面这个字符串: 0,00,01,10,000,001,010,011……. 首先是长度为1的串,然后是长度为2的串,以此类推。不存在全为1的串。 你的任务是编写一个程序。首先输入一个代码头(例如AB#TANCnrtXc),则上述序列的每个串依次对应编码头的每个字符。例如,0对应A,00对应B,01对应#…,0000对应c。接下来是编码文本(可能由多行组成,你应当把他们拼...原创 2018-07-21 17:16:51 · 1036 阅读 · 0 评论 -
算法竞赛入门-追踪电子表格中的单元格(Spreadsheet Tracking )
一、题目有一个r行c列的电子表格,行从上到下编号为1~r,列从左到右编号为1~c。对其进行n个操作。操作类型分为5种: 1. 删除行 2. 删除列 3. 插入行 4. 插入列 5. 交换两个元素位置 输入初始查找位置,输出经过n个操作后,变更的位置。二、思路1.存储所有的步骤2.针对每一个输入的x,y进行模拟步骤操作3.要删除的行,列比较当前的行x,列y是否比删除的行,列...原创 2018-07-31 23:05:15 · 718 阅读 · 2 评论 -
算法竞赛入门-纵横字谜的答案(Crossword Answers)
1. 题目 输入一个r行c列的网格,,黑格用‘*’表示,每个白格都填有一个字母。如果一个白格的左边相邻位置或者上边相邻位置没有白格(可能是黑格,也可能出了网格边界),则称这个白格是一个起始格。首先把所有的起始格从上到下,从左到右的顺序编号为1,2,3..., 输入:Each puzzle solution in the input starts with a line containing two...原创 2018-04-11 00:25:29 · 1854 阅读 · 0 评论 -
算法竞赛入门-DNA序列(DNA Consensus String)
1.题目 今天第一题输入m个长度均为n的DNA序列,求一个DNA序列,到所有序列的总Hamming距离尽量 小。 两个等长字符串的Hamming距离等于字符不同的位置个数,例如,ACGT和GCGA的 Hamming距离为2(左数第1, 4个字符不同)。输入整数m和n(4≤m≤50, 4≤n≤1000),以及m个长度为n的DNA序列(只包含字母 A,C,G,T),输出到m个序列的Hamming距离和...原创 2018-04-09 22:20:27 · 1725 阅读 · 0 评论 -
算法竞赛入门-Tex中的引号(Tex Quotes)
1. 题目今天第二道:在Tex中,做双引号的" `` ",右双引号是" '' "(两个回车左边的).输入一篇包含双引号的文章,你的任务是把它转换成TeX的格式。样例输入"To be or not to be,"quoth the Bard,"that is the question".样例输出 ``To be or not to be''quoth the Bard,``that is the...原创 2018-04-08 19:28:11 · 630 阅读 · 0 评论 -
第一天-HelloWorld
一. 第一天 Java环境配置JDK: Java程序的开发环境 JVM:保证Java语言跨平台 JRE:Java程序的运行环境安装Java 2.1 不要安装默认目录,建议安装在非系统盘,目录不要有中文以及空格。 2.2 安装很简单,只需要下一步即可,然后配置Path路径 比如我装在D:\jdk1.8下 然后设置Path路径 右键我的电脑–>属性–>高级系统设置–>高级–>原创 2017-07-05 17:04:49 · 442 阅读 · 0 评论 -
Java-poi操作Excel
在解析Excel中,有POI,JE1.在项目中加入依赖包<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <versi原创 2017-07-15 21:38:57 · 463 阅读 · 0 评论 -
第二天-Java基础
第二天 Java基础Java的数据类型(1) Java是一种强类型的语言,每一个变量必须定义其类型才能使用(2) 分类:2.1 基本类型:4类8种2.2 引用类型:类,接口,数组(3) 基本数据类型 3.1 整数 占用字节数 byte 1 short 2 int 4 lo原创 2017-07-06 22:20:43 · 455 阅读 · 0 评论 -
第三天-Java面向一些问题
第三天-Java面向对象的一些问题&和&&的区别。 逻辑与&: 只要有假 必定为假逻辑或|: 只要有真,必定为真^逻辑异或:相同为假 不同为真双与&: 只要有假,必定为假最不一样区别是:双与具有短路的作用,只要前面不成立,后面不执行。双逻辑或||:具有短路作用,只要前面成立,后面不执行。最简单的两个数交换值 (^的特点:一个数据对另一个数据异或两次,该数不变)a = a^b;b = a^b;原创 2017-07-07 22:38:13 · 358 阅读 · 0 评论 -
第四天-Java继承
制作Java文档 通过命令:javadoc -d 目录 -author -version 文件.java代码块 在Java中,使用{}括起来的代码被成为代码块。根据其位置和声明的不同,可以分为局部代码块:局部位置,限定变量的生命周期构造代码块:在内中的成员位置 作用:可以把多个构造方法中的共同代码放在一起,对对象进行初始化。静态代码块:在内中的成员位置,要用static修饰原创 2017-07-08 22:44:34 · 301 阅读 · 0 评论 -
第五天-Java多态
final关键字最终,可以修饰类,方法,变量。特点: 它修饰的类,不能被继承。它修饰的方法,不能被重写。它修饰的变量,是一个常量。有关内容: 局部变量 基本类型 值不能发生改变引用类型 地址值不能发生改变,但是对象的内容是可以改变的初始化时机 只能初始化一次。常见的给值 定义的时候或者在构造方法中。多态 同一个对象在不同时刻体现出来的不同状态。(运行期)能体现多态的前提:原创 2017-07-09 20:37:15 · 355 阅读 · 0 评论 -
第七天-Java常用类之一
1 String类的概述和使用 1. 多个字符组成的一串数据 可以和字符数组进行相互转换。2. 字符串的特点 1 字符串一旦被赋值,就不能改变。 注意:这里指的是字符串的内容不能改变,而不是引用不能改变。 2 字面值作为字符串对象和通过构造方法创建对象的不同 String ss = new String("hello");和Stri原创 2017-07-15 21:03:10 · 287 阅读 · 0 评论 -
第八天-Java常用类之二
1:正则表达式1.1 就是符合一定规则的字符串1.2 常见规则1.2.1:字符 x 字符 x。举例:'a'表示字符a \\ 反斜线字符。 \n 新行(换行)符 ('\u000A') \r 回车符 ('\u000D')1.2.2:字符类 [abc] a、b 或 c(简单类) [^abc] 任何字符,除了原创 2017-07-22 23:49:53 · 377 阅读 · 0 评论 -
第十天-Java集合之二
1 集合的结构图:2 Set集合(1)Set集合的特点 无序,唯一(2)HashSet集合 A:底层数据结构是哈希表(是一个元素为链表的数组) B:哈希表底层依赖两个方法:hashCode()和equals() 执行顺序: 首先比较哈希值是否相同 相同:继续执行equals()方法 返回t原创 2017-08-16 19:18:14 · 475 阅读 · 0 评论 -
第九天-Java集合之一
1 对象数组(1)数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。2 集合(Collection)(1)集合 数组的长度固定,所以不适合做变化的需求 (2)集合和数组的区别 A:长度区别 数组固定 集合可变 B:内容区别 数组可以是基本类型,也可以是引用类型 集合只能原创 2017-08-13 15:24:36 · 346 阅读 · 0 评论 -
第十一天-文件File类
File1. 构造方法A:File file = new File("e:\\demo\\a.txt");B:File file = new File("e:\\demo","a.txt");C:File file = new File("e:\\demo"); File file2 = new File(file,"a.txt");2. File类的功能A:创建功能public bool原创 2017-09-03 12:01:47 · 552 阅读 · 0 评论 -
初探-ArrayList方法
List初始化 #:List<String> list = new ArrayList<String>();list.add("Hello");这两行在做什么事情?源代码:public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;}private static final Object[] DE原创 2017-08-13 15:47:54 · 400 阅读 · 0 评论 -
初探-Vector方法
1. Vector无參初始化代码: Vector vector = new Vector<>(); 源代码: public Vector() { this(10); } public Vector(int initialCapacity) { this(initialCapacity, 0); } publi原创 2017-09-03 12:24:56 · 385 阅读 · 0 评论 -
算法竞赛入门-周期串(Periodic Strings)
1. 题目今天第三题如果一个字符可以由某个长度为k的字符串重复多次得到,则称该字符串以k为周期。例如,abcabcabc以3为周期(注意,他也以6和12为周期)。样例输入1hohoho样例输出22. 思路第一种:使用String类的replaceAll方法第二种:使用间隔循环,因为长度必须要能够被间隔整除3. 代码package basic.第三章;import java.util.Scann...原创 2018-04-08 22:16:08 · 745 阅读 · 0 评论 -
算法竞赛入门-分子量(Molar Mass)
1. 题目今天第一道给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01(单位:g/mol),输入t个分子式,输出分子量,保留三位小数。输入: 4 C C6H5OH NH2CH2COOH C12H22O11输出: 12.010 94.108 75.070 342.2962. 思路 存储...原创 2018-04-08 18:58:29 · 1883 阅读 · 0 评论 -
第六天-Java内部类
权限修饰符权限修饰符内部类 把类定义在另一个类的内部,该类就被称为内部类。 举例:把类B定义在类A中,类B就被称为内部类。内部类的访问规则 可以直接访问外部类的成员,包括私有外部类要想访问内部类成员,必须创建对象内部类的分类 成员内部类局部内部类成员内部类private 为了数据的安全性static 为了访问的方便性成员内部类不是静态的: 外部类名.内部类名 对象名 =原创 2017-07-11 19:52:49 · 305 阅读 · 0 评论
分享