java
莫叫石榴姐
云淡风轻一轮江月明
展开
-
利用循环不变量原理解决二分法边界问题
package jttl.jxresearch.com.hive.udf.test;public class Sloution { public static void main(String[] args) { } public int binarySearch(int[] arr,int target){ int left = 0; int right = arr.length - 1;//定义target在左闭右闭合的区间范围里。 .原创 2021-04-05 21:39:10 · 448 阅读 · 0 评论 -
数组中出现次数超过一半的数字
0 题目数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 21 解题方法本题实际上是求众数的思路。本题常见解法如下: 哈希表统计法: 借助外部空间存储数据(如hashset),并计数。此方法时间和空间复杂度均为 O(N) 。 数组排序法: 将数组 nums 排序,由于需要寻找的数字数量超过数组长度一半,因此排完序后的数组,...原创 2021-04-03 21:10:27 · 156 阅读 · 0 评论 -
java8 :: 用法 (JDK8 双冒号用法)
特性jdk8中使用了::的用法。就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下,双冒号运算就是Java中的[方法引用],[方法引用]的格式是: 类名::方法名 注意此处没有()。案例:表达式:person -> person.getAge();使用双冒号:Person::getAge表达式:new HashMap<>()使用双冒号:HsahMap :: new部分代码..转载 2021-03-14 19:16:08 · 303 阅读 · 0 评论 -
Java中 intValue,parseInt,Valueof 这三个关键字的区别
intValue()是把Integer对象类型变成int的基础数据类型;parseInt()是把String 变成int的基础数据类型;Valueof()是把给定的String参数转化成Integer对象类型;(现在JDK版本支持自动装箱拆箱了。)intValue()用法与另外两个不同,比如int i = new Integer("123"), j = i.intValue(); 相当于强制类型转换(强制类型转换事实上就是调用的这个方法)另外两个用法: Integer.Valu.转载 2021-03-14 18:46:37 · 883 阅读 · 1 评论 -
解决IDEA报错:Lambda expressions are not supported at language level‘6‘
原因:JDK版本为1.6,不支持Lambda表达式 解决:选择File → Project Structure → Project, 修改Level 到8 - Lambdas, type annotations etc.如果没有解决问题,那么把Modules中也改为java 8如果还没有解决问题, File --> Settings -->Build, Execution, Deployment Compiler --> Java Compiler,更改版本为Java 8.原创 2021-03-12 10:40:39 · 3288 阅读 · 0 评论 -
kafkaUtils工具类封装
import java.util.Properties;import java.util.concurrent.Future;import org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.Producer;import org.apache.kafka.clients.producer.ProducerRecord;import org.apache.kafka..原创 2021-03-09 20:40:05 · 3035 阅读 · 1 评论 -
fastjson工具类编写
package test;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SerializerFeature;import org.mortbay.util.ajax.JSON;import java.util.*;public class FastJSONUtils { public static void main(String[] args) { M.原创 2021-03-09 19:51:26 · 208 阅读 · 0 评论 -
java设计模式之建造者模式
0 需求盖房项目需求(1)需要建房子:这一过程分解为,打桩(打地基)、砌墙、封顶 (2)房子有各种各样的,比如普通房、高楼、别墅,各种各样的房子过程虽然一样,但是要求不要相同 (3)请编写程序,完成需求1 传统方式解决方案(1)思路分析(2) 需求实现步骤1:构建抽象类定义修放在的步骤package com.dandan.builder;public abstract class AbstractHouse { //定义打地基 public abst原创 2021-03-07 23:49:54 · 232 阅读 · 2 评论 -
一种java死锁故障问题定位分析方法
在java中我们常常使用加锁机制来确保线程安全,但是如果过度使用加锁,则可能导致锁死锁。那么在生产中如何快速定位是否发生了死锁的故障呢?本文将从二个步骤进行分析,首先定位进程号,其次通过找到的进程号再进一步确认是否发生了死锁现象,最终完美定位出故障来。本文对于死锁的分析给出了具体的死锁测试代码,及造成死锁的原因分析,并进一步地给出了排查死锁故障的方法,本方法已在具体的实际中得到验证。原创 2020-03-19 21:29:56 · 436 阅读 · 0 评论