ICode9

精准搜索请尝试: 精确搜索
  • Java8新特性 Lambda2022-02-05 15:02:00

    Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。 Lambda 表达式 @Test public void test1() { I1 i1 = new I

  • Collection排序工具类--CollectionSortUtil2022-02-03 21:03:32

    ======================================================Collection排序工具类: import java.util.Collections; import java.util.Date; import java.util.List; import org.apache.commons.lang3.StringUtils; public class CollectionSortUtil { /** * 集合工

  • 用少量箭射爆气球,leetcode习题2022-02-03 15:00:12

    用少量气球射爆气球 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不同点完全垂直地射出。

  • js 面试题 a.x = a = { n: 2 }2022-02-03 12:05:05

    let a = { n: 1 } a.x = a = { n: 2 } console.log(a.x); /** 这道题打印undefined 第一行 开辟了堆内存o1, 存储{n:1} 第二行 a.x 指向后续的运算结果, 即此时o1.x = undefined a = {n:2}, 即开辟了堆内存o2, 存储{n:2}, a指向o2 a.x即o1.x = {n:1,x:{n:2}}

  • 剑指offer Java题解之JZ86 在二叉树中找到两个节点的最近公共祖先2022-01-30 15:03:09

     题目: 给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。 数据范围:1 \le n \le 10001≤n≤1000,树上每个节点的val满足 0<val \le 1000<val≤100 要求:时间复杂度 O(n)O(n) 注:本题保证二叉树中每个节点的val值

  • 【Java】自定义排序2022-01-28 21:03:43

    文章目录 数组列表List 数组 Arrays.sort(properties, (o1, o2) -> { return o1[0] == o2[0] ? (o2[1] - o1[1]) : (o1[0] - o2[0]); }); 按第0维升序排序,第0维相同时按第1维降序排序。 e.g. int[][] arr = {{1, 5}, {10, 4}, {4, 3}, {4, 4}}; System.out.println(Arr

  • 1.Java8新特性简介&Lambda表达式2022-01-28 16:33:00

    目录 一、Java8新特性简介 特点 二、并行流与串行流 三、为社么要使用Lambda表达式 三、Lambda表达式使用举例 1.Runnable 2.Comprator (一) Lambda表达式的使用 1.格式 2.语法格式1:无参,无返回值 3.语法格式2:lambda需要一个参数,但是没有返回值 4.语法格式3:数据类型可以省略,因为可

  • Leetcode 1996. 游戏中若角色的数量2022-01-28 16:01:35

    Leetcode 1996. 游戏中若角色的数量 题目 https://leetcode-cn.com/problems/the-number-of-weak-characters-in-the-game/ 分析 题目要求将弱角色的数目统计出来,自己使用\(O(n^2)\)的办法做的,最后肯定超时了,看了一下题解才明白\(O(n)\)直接就能做出来,这里排除了排序,算上排序是\(O

  • Day22死锁、线程通信、单例模式2022-01-25 22:30:53

    1.死锁 1.1概述 /* 死锁:就是在执行过程中,都遇到了对方进入加锁的方法中,从而导致大家都访问不了的状态原理:1.某一线程 执行完成 需要 先后 嵌套 锁定 执行两个对象,并且在这个过程中,先锁定第一个对象2.另一个线程 执行完成 需要 先后 嵌套 锁定 执行两个对象,并且在这个过程中,先

  • 【线程安全】 三类线程安全问题2022-01-24 20:04:49

    什么是线程安全 《Java Concurrency In Practice》的作者 Brian Goetz 对线程安全是这样理解的,当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行问题,也不需要进行额外的同步,而调用这个对象的行为都可以获得正确的结果,那这个对象便是线程安全的。 通

  • 【源码阅读 | xe-utils源码 | 06】isEqual 深度比较两个值是否相等2022-01-23 12:34:12

    1. 背景   JavaScript 中包含基础的值类型,引用类型及其他类型。   关于值类型和引用类型的区别,若有不理解的可以看这篇文章补课 【JavaScript】深拷贝与浅拷贝 ,这里就不再赘述。   当要判断 引用类型 时,以对象举例,则需要 遍历其所有的属性 来进行比较,只有属性对应的值

  • 题解 CF1599I Desert2022-01-20 16:03:10

    CF1599I Desert / 原题链接 题意 仙人掌是一张无向连通图,在一个仙人掌上,任意一条边至多只会出现在一个环上。 荒漠是一张无向图,一个荒漠的每个极大连通分量都是一个仙人掌。 给定一个 \(n\) 个点 \(m\) 条边的无向图,求有多少对 \(l,r\in [1,m]\),使得只保留编号在 \([l,r]\) 中的

  • 面向对象2022-01-15 12:35:25

    面向对象 对象 key先数值,如果是字符串 按照谁先设置就先遍历谁 var arr = [1, 3, 5, 2, 3, 4, 5, 6, 3, 4]; arr = Object.values(arr.reduce((v, t) => { //加字符串a是为了不自动排序 v["a"+t] = t; return v }, {})) cons

  • Day29.线程安全、线程同步synchronized() 、死锁2022-01-14 19:33:32

    线程安全(重点) 什么时候数据会存在线程安全问题? 条件1:多线程并发; 条件2:有共享数据; 条件3:有共享修改的行为;  如何解决线程安全问题? 线程同步机制:线程排队执行(不能并发),用排队机制解决线程安全难问题。 线程同步机制会牺牲一部分效率,数据安全第一位。         异

  • 算法-区间重叠问题2022-01-01 20:02:25

    leetcode-56.合并区间 import java.util.Arrays; import java.util.Comparator; class Solution { public int[][] merge(int[][] intervals) { //sort Arrays.sort(intervals, new Comparator<int[]>() { @Override public

  • 【java】short、byte、char进行运算时的注意点2021-12-31 12:36:24

    先来看以下代码 可以看到两个 short 型变量相加结果却为 int 型,这是为什么呢? 因为 Java 中精度小于 int 的数值运算的时候都回被自动转换为 int 后进行计算。 我们来看下以下几个例子: 例一 short o1 = 1; byte o2 = 2; short result = (short) (o1 + o2); 精度小于 int 的数值运

  • 死锁——从产生到消除2021-12-26 15:58:13

    1、死锁是什么? 发生在并发中 互不相让:当两个(当两个(或更多)线程(或进程)相互持有对方所需的资源,又不主动释放,导致所有人都无法继续前进,导致程序陷入无尽的阻塞,这就是死锁)   2、多个线程造成死锁的情况 如果多个线程之间的依赖关系是环形,存在环路的锁的依赖关系,那么也就可以发

  • JZ86 在二叉树中找到两个节点的最近公共祖先2021-12-11 11:02:49

    在二叉树中找到两个节点的最近公共祖先 1. 问题描述2. 样例说明3. 解法一:递归算法思想代码时间空间复杂度分析 4. 解法二:非递归算法思想代码时间空间复杂度分析 1. 问题描述 2. 样例说明 3. 解法一:递归 算法思想 分析可知,对于节点 o1, o2 的最近公共祖先,只存在三种情

  • java中DeadLock(死锁)2021-12-09 16:34:23

    Java死锁产生的四个必要条件: 1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用。 2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。 3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。 4、循环等待,即

  • Java8 Optioanl解决空指针异常2021-12-07 16:04:49

    文章目录 前言一、返回数据展示?返回情况有两种,一种是data有数据,一种是没有数据 二、报错场景复现二.Optional 优雅解决1.java8提供 optional这个类来进行判断处理,以及判空后的业务逻辑处理2.optional类ofofNULLableisPresentgetifPresent orElseorElseGetorElseThrowmapf

  • Collections集合工具类的方法2021-11-24 17:02:35

    java.utils.Collections是集合工具类,用来对集合进行操作。部分方法如下: public static <T> void sort(List<T> list):将集合中元素按照默认规则排序 public static <T> boolean addAll(Collection<T>c,T..elements):往集合中添加一些元素 public static void shuffle(List<?> list

  • redis 深度学习2021-11-16 18:30:49

    redis 底层是hashtable,复杂度是o1; 扩容的时候是成倍扩容,渐进式的rehash;

  • 实现一个线程死锁2021-11-10 12:00:22

    要想实现线程死锁,首先要清楚线程死锁的四个条件 互斥条件:一个资源每次只能被一个进程使用,即在一段时间内某资源仅为一个进程所使用。此时如果有其它进程请求该资源,则请求进程只能等待。 请求和保持条件:进程中已经保持了至少一个资源,但又提出了新的资源请求,而该资源已经被其它进程

  • 2021-11-42021-11-04 15:01:54

    比较两个对象工具类 java public class CompareUtil { /** * 比较两个实体属性值,返回一个boolean,true则表时两个对象中的属性值无差异 * @param oldObject 进行属性比较的对象1 * @param newObject 进行属性比较的对象2 * @return 属性差异比较结果

  • Collections.sort对象排序失效问题2021-11-02 10:03:40

    今天做一个对象集合排序,看着代码没啥问题,可排序就是不起作用,代码如下。 public static void main(String[] args) { List<student> list=new ArrayList<>(); student o1=new student(); o1.setTotalNum(10); o1.setEndNum(2); student

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有