![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Java经验
Ypopstar
这个作者很懒,什么都没留下…
展开
-
LeetCode--1315--祖父节点值为偶数的节点和
题目描述:给你一棵二叉树,请你返回满足以下条件的所有节点的值之和:该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。)如果不存在祖父节点值为偶数的节点,那么返回 0 。输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]输出:18题意:题目描述题解:直接用一个栈去模拟代码:/** * Definition for a binary tree node. * public class TreeNod原创 2020-07-08 16:54:15 · 305 阅读 · 0 评论 -
LeetCode--169--多数元素
题目描述:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:[3,2,3][2,2,1,1,1,2,2]输出:32题意:题目描述题解:排序后直接输出len / 2代码:class Solution { public int majorityElement(int[] nums) { Arrays.sort(nums); re原创 2020-07-08 16:52:41 · 222 阅读 · 0 评论 -
LeetCode--112--路径总和
题目描述:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。输入:5/ 4 8/ / 11 13 4/ \ 7 2 1sum = 22输出:true题意:题目描述题解:简单dfs,一步步搜代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * T原创 2020-07-08 16:51:41 · 255 阅读 · 0 评论 -
LeetCode--150--逆波兰表达式求值
题目描述:根据 逆波兰表示法,求表达式的值。有效的运算符包括 +, -, , / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。输入:[“2”, “1”, “+”, “3”, ""][“4”, “13”, “5”, “/”, “+”][“10”, “6”, “9”, “3”, “+”, “-11”, “", “/”, "”, “17”, “+”, “5”, “+”]原创 2020-07-08 16:50:38 · 137 阅读 · 0 评论 -
LeetCode--1502--判断能否形成等差数列
题目描述:给你一个数字数组 arr 。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列 。如果可以重新排列数组形成等差数列,请返回 true ;否则,返回 false 。输入:arr = [3,5,1]arr = [1,2,4]输出:truefalse题意:题目描述题解:排个序,然后按照等差数列的定义判断代码:class Solution { public boolean canMakeArithmeticProgression(int[]原创 2020-07-08 16:49:20 · 208 阅读 · 0 评论 -
LeetCode--1486--数组异或操作
题目描述:给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。输入:n = 5, start = 0n = 4, start = 3n = 1, start = 7n = 10, start = 5输出:8872题意:题目描述题解:直接搞代码:class Solution { public in原创 2020-07-08 16:48:17 · 135 阅读 · 0 评论 -
LeetCode--500--键盘行
题目描述:给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。输入:[“Hello”, “Alaska”, “Dad”, “Peace”]输出:[“Alaska”, “Dad”]题意:题目描述题解:直接搞代码:class Solution { public static String[] findWords(String[] words) { String a = "QWERTYUIOPqwertyuiop"; S原创 2020-07-08 16:46:55 · 157 阅读 · 0 评论 -
LeetCode--561--数组拆分 I
题目描述:给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。输入:[1,4,3,2]输出:4题意:题目描述题解:简单贪心排序后,两两找最小值代码:class Solution { public int arrayPairSum(int[] nums) { int sum = 0; Arrays.sort(n原创 2020-07-08 16:45:42 · 120 阅读 · 0 评论 -
LeetCode--1491-去掉最低工资和最高工资后的工资平均值
题目描述:给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。输入:salary = [4000,3000,1000,2000]salary = [1000,2000,3000]salary = [6000,5000,4000,3000,2000,1000]salary = [8000,9000,2000,3000,6000,1000]输出:2500.000002000.原创 2020-07-08 16:44:29 · 305 阅读 · 0 评论 -
LeetCode--1475--商品折扣后的最终价格
题目描述:给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。输入:prices = [8,4,6,2,3]prices = [1,原创 2020-07-08 16:43:00 · 213 阅读 · 0 评论 -
LeetCode--905--按奇偶排序数组
题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。输入:[3,1,2,4]输出:[2,4,3,1]题意:题目描述题解:直接搞,先放偶数再放奇数代码:class Solution { public int[] sortArrayByParity(int[] A) { int len = A.length; int [] ans = new int [le原创 2020-07-08 16:41:38 · 144 阅读 · 0 评论 -
LeetCode--1108-- IP 地址无效化
题目描述:给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。输入:address = “1.1.1.1”address = “255.100.50.0”输出:“1[.]1[.]1[.]1”“255[.]100[.]50[.]0”题意:题目描述题解:直接搞代码:class Solution { public String defangIPaddr(String address原创 2020-07-08 16:40:34 · 118 阅读 · 0 评论 -
堆空间内存大小和设置
package jvm;/** * @Author CallMeDad * @create 2020/7/7 20:15 */public class initheap { /* 默认情况下: 初试内存大小为电脑物理内存 / 64 最大内存大小为电脑物理内存 / 4 设置堆空间大小参数: -Xms 用来设置堆空间(新生代 + 老年代)的初始内存大小 -x 是jvm的运行参数原创 2020-07-07 20:22:40 · 601 阅读 · 0 评论 -
关于Java虚拟机栈局部变最表slot的理解
局部变最表是一组变量值存储空间,用于存放方法参数和方法内部定义的局部变量。在 Java程序被编译为 Class文件时,就在方法的 Code属性的max_locals数据项中确定了该方法所需要分配的最大局部变量表的容量。局部变量表的容量以变量槽(variable slot,下称slot)为最小单位,虚拟机规范中并没有明确指明一个slot应占用的内存空间大小,只是很有“导向性”地说明每个slot都应该能存放一个boolean、byte、char、short、int、float、reference或return原创 2020-07-07 10:37:58 · 623 阅读 · 2 评论 -
几种类加载器的体会使用
package jvm;public class classloader { public static void main(String[] args) { //获取系统类加载器 ClassLoader appClassloader = ClassLoader.getSystemClassLoader(); System.out.println(appClassloader); //sun.misc.Launcher$AppClassLo原创 2020-07-06 10:39:52 · 121 阅读 · 0 评论 -
Synchronized和AQS之间的小总结
Synchronized:Synchronized关键字在底层的C++实现中,存在两个重要的数据结构(集合):WaitSet和EntryList。WaitSet中存放的是调用了Object的Wait方法的线程对象(被封装成了C++的Node对象)。EntryList中存放的是陷入阻塞状态,需要获取moniter的那些个线程对象。当一个线程被notify后,它就会从WaitSet中移动到EntryList中去。当进入到EntryList后,该线程依然需要与其他的线程竞争moniter对象。如果争原创 2020-06-22 11:18:07 · 812 阅读 · 0 评论 -
Java--统计代码行数
package com.xxx.utils;import java.io.BufferedReader;import java.io.File;import java.io.FileReader; public class CountFileRow { private static int total = 0; private static int fileNum = 1; /...原创 2020-04-06 17:50:56 · 188 阅读 · 0 评论 -
Java--解决跨域问题
package CSU.Ticket.Utils;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import ...原创 2020-04-03 16:20:41 · 99 阅读 · 0 评论 -
Hibernate增删改查
hibernate增加 @Override public boolean add(PatientInfo pi) { // TODO Auto-generated method stub SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = sessionFac...原创 2020-03-26 10:40:20 · 105 阅读 · 0 评论 -
Java--读取配置文件里的数据
将config.properties放到resource的目录下。url = http://xxx.xxx.xx.xxx:8088/OnlineJudge/然后写PropertiesUtilimport java.io.InputStream;import java.util.Iterator;import java.util.Properties;public class Pro...原创 2020-03-16 10:53:42 · 111 阅读 · 0 评论 -
Java--防止防止SQL注入及XSS注入
使用Apache commons-lang的StringUtils来增强Java字符串处理功能。StringEscapeUtils一个方便做转义的工具类,主要是为了防止sql注入,xss注入攻击的功能。import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.StringEscapeUtils;...原创 2020-03-16 10:50:04 · 559 阅读 · 0 评论 -
Struts上传文件
首先是acionpackage CSU.Ticket.Controller;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import org.apache.commons.io.F...原创 2020-03-06 16:11:24 · 93 阅读 · 0 评论 -
HibernateUtil
HibernateUtilimport org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtil { private static SessionFactory sf; static { Configuration cfg = new Config...原创 2020-03-01 10:12:40 · 227 阅读 · 0 评论 -
Java的MD5加密算法
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。这套算法的程序在 RFC 1321 标准中被加以规范。1996年后该算...原创 2020-03-01 09:59:28 · 356 阅读 · 0 评论 -
Java生成随机字符串
length为要生成的随机串的长度 public static String getRandomChar(int length) { char[] chr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g',...原创 2020-03-01 09:57:24 · 250 阅读 · 0 评论 -
Java获取时间
Java获取当前时间 public String GetNowDate() { Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//可以方便地修改日期格式 String NowTime = dateFormat.format(now);...原创 2020-03-01 09:55:43 · 101 阅读 · 0 评论