Java
文章平均质量分 59
ZZUJULIAN
欢迎交流
展开
-
Java 注解 相关元注解
一、注解:深入理解JAVA注解 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1、元注解(meta-annotation): 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target, 2.@Retention, 3.@Docum转载 2020-05-20 12:00:44 · 147 阅读 · 0 评论 -
Java 流(Stream)、文件(File)和IO 详解与实践(代码皆可运行成功)
目录概述读取控制台输入从控制台读取多字符输入 Java Scanner 类使用 next 方法获取输入的字符串:使用 nextLine方法获取输入的字符串:next() 与 nextLine() 区别控制台输出实例读写文件FileInputStreamFileOutputStream实例文件和I/OJava中的目录...原创 2020-05-05 13:25:26 · 744 阅读 · 0 评论 -
java.io.FileNotFoundException: F:\mytext\create.txt (拒绝访问。) 报错原因以及解决方法
首先查看了一下报错路径 streamReader = new FileInputStream(new File("F:\\mytext\\create.txt"));该路径并不是指向一个具体路径路径修改为指向具体的文件 streamReader = new FileInputStream(new File("F:\\mytex...原创 2020-05-03 15:07:11 · 665 阅读 · 0 评论 -
887. 鸡蛋掉落 Leetcode Java
题目:你将获得K个鸡蛋,并可以使用一栋从1到N共有 N层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层F ,满足0 <= F <= N 任何从高于 F的楼层落下的鸡蛋都会碎,从F楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层X扔下(满足1...原创 2020-04-29 09:42:49 · 170 阅读 · 0 评论 -
322. 零钱兑换 Leetcode Java
题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1...原创 2020-04-27 17:20:45 · 116 阅读 · 0 评论 -
509. 斐波那契数列 Leetcode Java
class Solution { public int fib(int N) { /* int[] dp = new int[N + 1]; dp[0] = 0; //base case if(N>0) dp[1]= 1; for (int i = 2; i <= N; i++) { ...原创 2020-05-05 15:06:50 · 211 阅读 · 0 评论 -
438. 找到字符串中所有字母异位词 Leetcode Java
題目:给定一个字符串s和一个非空字符串p,找到s中所有是p的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串s和 p的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例1:输入:s: "cbaebabacd" p: "abc"输出:[0, 6]解释:起始索引等...原创 2020-05-05 16:24:56 · 281 阅读 · 0 评论 -
76. 最小覆盖子串 Leetcode Java
//给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。 //// 示例: //// 输入: S = "ADOBECODEBANC", T = "ABC"//输出: "BANC" //// 说明: //// // 如果 S 中不存这样的子串,则返回空字符串 ""。 // 如果 S 中存在这样的子串,我们保证它是唯一的答案。 // ...原创 2020-04-22 16:57:16 · 239 阅读 · 0 评论 -
@Bean 注解 简单理解
用于注册方法返回值的容器。@Bean注解是@Configuration注解所注解的类下的方法执行时所接受返回值的容器@Configuration class MyFun { //@Bean注解是@Configuration注解所注解的类下的方法执行时所接受返回值的容器 @Bean public StudentModel getStu...原创 2020-04-21 21:30:49 · 738 阅读 · 0 评论 -
48. 旋转图像 Leetcode Java
题目:给定一个 n×n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9...原创 2020-04-21 15:03:26 · 237 阅读 · 0 评论 -
39. 组数之和 Leetcode Java
题目:给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7], target = 7,所...原创 2020-04-19 23:01:20 · 157 阅读 · 0 评论 -
34. 在排序数组中查找元素的第一个和最后一个位置 Java Leetcode 常规解法
题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8...原创 2020-04-13 22:28:09 · 222 阅读 · 0 评论 -
31. 下一个排列 Java Leetcode
题目:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路:1.首先理解字典序的含义:在数学...原创 2020-04-12 12:11:27 · 175 阅读 · 0 评论 -
33. 搜索旋转排序数组 Java Leetcode
题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。思路:1.根据时间复杂度判断此题需要用二分搜索法。...原创 2020-04-12 12:02:52 · 110 阅读 · 0 评论 -
11. 盛最多水的容器 Leetcode Java实现
题目:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。有两种方法:方法一:暴力法把所有出现的情况全部走一遍,找出最大面积。pu...原创 2020-04-08 23:22:40 · 213 阅读 · 0 评论 -
桶排序 Java实现
package com.plat.acoal.test.java8.sort;import java.util.Arrays;public class BucketSortDemo { public static int[] countSort(int[] arr){ //1.获取数组最大值 int max=arr[0]; for...原创 2020-04-07 11:26:32 · 140 阅读 · 0 评论 -
后序遍历非递归 Java
思路:借助先序遍历交换子树。创建二叉树原二叉树交换左右子树的二叉树得出:先序遍历: 1,2,4,5,3,6逆后序遍历:1,3,6,2,5,4后序遍历:4,5,2,6,3,1观察发现:交换左右子树的二叉树先序遍历=二叉树逆后序遍历=后序遍历反着来因此,我们的目标是,想办法吧二叉树变成交换左右子树的二叉树,然后push进一个stack里,最后只要pop出...原创 2020-04-04 16:05:13 · 1202 阅读 · 1 评论 -
二叉树的递归前序中序后序遍历方式
package com.plat.acoal.java8.model;import java.util.Arrays;import java.util.LinkedList;public class TreeDemo { /** * 二叉树节点 */ static class TreeNode{ //定义类变量 int...原创 2020-04-03 23:38:31 · 200 阅读 · 0 评论 -
3. 无重复字符的最长子串 Leetcode Java
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。package com.plat.acoal.leetcode;import java.util.HashMap;import java.util.HashSet;import java.util.Map;import java.util.Set;public class LengthOfLongestsSubst...原创 2020-03-28 16:37:31 · 183 阅读 · 0 评论 -
2. 两数相加 Leetcode Java
package com.plat.acoal.leetcode;public class Twoadd { static class ListNode{ int val; ListNode next; ListNode(int x){ val=x; } } static clas...原创 2020-03-28 16:32:17 · 177 阅读 · 0 评论 -
1. 两数之和 Leetcode Java
package com.plat.acoal.leetcode;import java.util.Arrays;import java.util.HashMap;import java.util.Map;import java.util.stream.Stream;public class TwoNumberSum { static class Solution{ ...原创 2020-03-27 23:59:11 · 133 阅读 · 0 评论 -
Lambda表达式 java8新特性 代码简洁又漂亮 Java是最好的语言!
Lambda表达式是Java8的新特性,是Java吸收了其他语言的优势创新出来的一种表达方法。基本结构(参数)->{函数体}下面举个栗子:随便输出一堆字符串这是原来的常规输入方式package com.plat.acoal.test.java8;public class LambdaDemo { interface Printer { voi...原创 2020-03-26 09:54:59 · 123 阅读 · 0 评论 -
多态,继承,父类引用
最近复习Java的基础题,遇到了有趣的题目class Base{ int i; Base(){ add(1); System.out.println(i); } void add(int v){ i+=v; System.out.println(i); } void print(){ System.out.println...原创 2020-03-24 09:42:17 · 193 阅读 · 0 评论 -
@GetMapping,PostMapping与@RequestMapping
简介 :- @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。- 同理PostMapping也是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。特别说明:@RequestMapping...原创 2020-03-20 11:21:11 · 136 阅读 · 0 评论 -
代码不规范,修改两行泪
收集一下令人无语的代码,不忍直视,程序员编程素质必须要好好提升呀,写代码不走心,再好的技术也是南辕北辙。sql瞎取名现场原创 2020-03-19 14:58:03 · 239 阅读 · 0 评论 -
Mysql数据库里的时间问题
因为是半路接手的项目,很多参数以及格式都定了下来。数据库里的时间默认为datetime.Mybatis里面对应的却是TimeStamp实体类的则是Date令人头秃。决定好好理一理这个思路。先看看Mysql数据库里时间的区别吧。https://www.cnblogs.com/wlzjdm/p/6953398.html参考上文1.关于Mysql1.1 Date格...原创 2020-03-18 14:51:50 · 476 阅读 · 0 评论 -
Request method 'POST' not supported
疫情原因,负责后端的同事辞职了,他的代码由我来负责。试了一下登录界面,直接报错。内心复杂。405:表示请求的方式不对把同事的GetMapping换成PostMapping就可以了...原创 2020-03-18 11:06:44 · 154 阅读 · 0 评论 -
@RequestParam 注解使用
1.作用@RequestParam:将请求参数绑定到控制器的方法参数上(是springmvc中接收普通参数的注解)2.语法语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””) 或者是@RequestParam String abc这样直接连着使用value:参数名re...原创 2020-03-11 14:13:13 · 313 阅读 · 0 评论 -
@Data 注解使用
在实体类的编写过程中,常常需要使用大量的get、set方法,需要写大量的重复代码,尽管可以采用工具自动生成,但也会使实体类中产生大量冗余代码,使得代码变,springboot为我们提供了相应注解可以解决这类问题----@Data接下来简明扼要的介绍一下@Data注解的功能与使用方法注解功能1、@Data可以为类提供读写功能,从而不用写get、set方法。...原创 2020-03-10 14:35:56 · 4155 阅读 · 0 评论 -
Navicat中可以查出数据,但是mybatis查不出来 坑到飞起 的mybatis
用了各种方法修改,万万没想到竟然是DATE_FORMAT( ta.dCollectDT, '%Y-%m-%d %H' )这里的%d与%H之间没有空格原创 2019-06-06 10:12:23 · 2279 阅读 · 0 评论 -
发现一个巨好用的后台往前台传数据的属性 model.addAttribute()
从后台往前台跳转时,如果需要往前台传参数,这个方法很好用!!!直接上代码后台model.addAttribute("customername", cname);前台<script> $(function(){ var customername='<%=request.getAttribute("customername")%>';...原创 2019-05-06 17:04:44 · 6718 阅读 · 3 评论 -
微信基础access token的获取与存储 Java后端 数据库mysql存储access token
今天花了一早上的时间实现了accesstoken的数据库存储,现在做个总结。首先,access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。因此数...原创 2020-03-06 15:35:57 · 1236 阅读 · 0 评论 -
微信公众平台如果想同时启用服务器配置与自定义菜单,可以这样做:
如果想同时启用服务器配置与自定义菜单,可以这样做:需要修改菜单的时候本文结合百度知道@secretid 用户的回答和我的实践,转载需要标明。1、禁用服务器配置2、再修改菜单3、再启用服务器配置4、点击“+添加功能插件”页面找自定义菜单(这一步非常重要)5、启用(这一步非常重要)第4,5步一直被忽视 ...原创 2019-04-24 18:09:02 · 10704 阅读 · 6 评论 -
LeetCode 两数之和
题目给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。解决方案方法一:暴力法暴力法很简单。遍历每个元素 x,并查找是否存在一个值与target−x相等的目标元素。public int[] twoSum(int[] nu...原创 2019-03-22 12:22:29 · 90 阅读 · 0 评论 -
归并排序 Java实现 MergeSort
算法思路分治法,分而治之1.分解,将待排序数组分为两个子序列,每个子序列含有n/2个元素。2. 治理,将每个子序列调用MergeSort,进行递归操作。3. 合并,合并两个排好序的子序列,生成排序结果。代码实现import java.util.Arrays;public class MergeSort {public static int[] sort(int[] a...原创 2019-03-18 16:20:41 · 270 阅读 · 0 评论 -
快速排序 QuickSort java实现 迭代法
算法思路1.快速排序适用于数据量大且乱序程度高的情况,稳定性较差。2.设置数组a[],两个参数i,j,i指向排序数组头部,j指向排序数组尾。3. 保持i<j,初始默认i指向的是key,用j指向的数字与i指向的数字比较,找出大小数,交换Key,将数组分割为两段,最后将基准为i或为j相等的数字交换。4. 递归。代码实现import java.util.Arrays;p...原创 2019-03-18 11:18:50 · 981 阅读 · 1 评论 -
Map (String,Integer )也可以用
接口真是好用原创 2019-06-12 10:19:19 · 3208 阅读 · 0 评论 -
List.removeAll()失效问题 区别两个LIst并去除相同的部分
前几日需要实现数据分类的功能,将一个list中的内容进行划分,离线用户,在线用户的划分。 但用户是一个”对象“,并不是一个String。 这也就导致了List.removeAll()的失效问题。 之所以为什么失效。 此处请详看@DRPrincess的文章https://blog.csdn.net/qq_32452623/article/details/78087752...原创 2019-07-01 14:13:30 · 1611 阅读 · 0 评论 -
转义字符的运用以及自定义json字符串
这一次我总算对json有了具象化的认知,从来没有自行组合json字符串的我首遇滑铁卢。SyntaxError: JSON.parse: unterminated string at line 1 column 41 of the JSON data 我错了,我跪下!!! 后来我才知道,json必须要键值对组合,而我,只对key进行了双引号修饰,完全忽略了value也需要爱!!...原创 2019-08-30 11:50:36 · 581 阅读 · 0 评论 -
Java 输出百分号数字
java.text.NumberFormat nf=java.text.NumberFormat.getPercentInstance();nf.setMinimumFractionDigits(2);System.out.println(nf.format(0.875));原创 2019-08-13 10:20:54 · 5850 阅读 · 0 评论