Java-10.5

J.U.C - 其它组件FutureTask在介绍 Callable 时我们知道它可以有返回值,返回值通过 Future 进行封装。FutureTask 实现了 RunnableFuture 接口,该接口继承自 Runnable 和 Future 接口,这使得 FutureTask 既可以当做一个任务执行,也可以有返回值。public class FutureTask<V> implements RunnableFuture<V>public interface Runna
分类: 其他 发布时间: 10-15 23:01 阅读次数: 0

Java-10.6

运行时数据区域程序计数器记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空)。Java 虚拟机栈每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。可以通过 -Xss 这个虚拟机参数来指定每个线程的 Java 虚拟机栈内存大小,在 JDK 1.4 中默认为 256K,而在 JDK 1.5+ 默认为 1M:java -Xss2M HackTheJav
分类: 其他 发布时间: 10-15 23:01 阅读次数: 0

力扣-10.11-75

荷兰国旗问题解法一:(自己写的方法)扫描一遍数组,记下3个数的个数,再更新数组即可class Solution { public void sortColors(int[] nums) { int[] count= {0,0,0}; for(int i=0;i<nums.length;i++) { if(nums[i]==0) { count[0]++; }else if(nums[i]==1) { count[1]++; }els.
分类: 其他 发布时间: 10-15 23:00 阅读次数: 0

Java-10.11-455

贪心算法:class Solution { public int findContentChildren(int[] g, int[] s) { if(g==null || s==null) return 0; Arrays.sort(g); Arrays.sort(s); int gi=0,si=0; while(gi<g.length && si<s.length){ ..
分类: 其他 发布时间: 10-15 23:00 阅读次数: 0

Java-9.11-435

按照区间的结尾进行从小到大的排序依旧是贪心算法,因为选择的区间的结尾越小,越可能在后面增加区间class Solution { public int eraseOverlapIntervals(int[][] intervals) { if(intervals.length==0) { return 0; } Arrays.sort(intervals,new Comparator<int[]>() { @Override public..
分类: 其他 发布时间: 10-15 23:00 阅读次数: 0

力扣-10.12-452

方法一:(自己写的)按照区间起点进行排序,需要注意的是转换成doubleclass Solution { public int findMinArrowShots(int[][] points) { if(points.length==0) { return 0; } Arrays.sort(points,new Comparator<int[]>() { @Override public int compare(int[] o1, int.
分类: 其他 发布时间: 10-15 23:00 阅读次数: 0

Java-10.12

垃圾收集垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。判断一个对象是否可被回收引用计数算法为对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。在两个对象出现循环引用的情况下,此时引用计数器永远不为 0,导致无法对它们进行回收。正是因为循环引用的存在,因此 Java 虚拟机不使用引用计数算法。publi
分类: 其他 发布时间: 10-15 22:59 阅读次数: 0

力扣-10.12-70

方法一:递归class Solution { public int climbStairs(int n) { if(n==1) { return 1; }else if(n==2) { return 2; }else { return climbStairs(n-1)+climbStairs(n-2); } }}递归会超时,可以转换为数组来实现,如下方法二:class Solution { public int climb.
分类: 其他 发布时间: 10-15 22:59 阅读次数: 0

力扣-10.13-406

主要思想是按h降序,k升序排列class Solution { public int[][] reconstructQueue(int[][] people) { if (people == null || people.length == 0 || people[0].length == 0) { return new int[0][0]; } Arrays.sort(people, (a, b) -> (a[0] == b[0] ?.
分类: 其他 发布时间: 10-15 22:59 阅读次数: 0

力扣-10.13-121

方法一:(自己写的)对每一个i找i之后的最大利润值class Solution { public int maxProfit(int[] prices) { if(prices.length==0) { return 0; } int profit=0; for(int i=0;i<prices.length-1;i++) { for(int j=i+1;j<prices.length;j++) { if(prices[j]&g.
分类: 其他 发布时间: 10-15 22:59 阅读次数: 0

力扣-10.13-122

方法一:(自己写的)class Solution { public int maxProfit(int[] prices) { if(prices.length==0 || prices.length==1) { return 0; } int p=0,q=1,profit=0; while(q<prices.length) { if(prices[p]>prices[q]) { ..
分类: 其他 发布时间: 10-15 22:58 阅读次数: 0

力扣-10.13-605

方法一:我们从左到右扫描数组 flowerbed,如果数组中有一个 0,并且这个 0 的左右两侧都是 0,那么我们就可以在这个位置种花,即将这个位置的 0 修改成 1,并将计数器 count 增加 1。对于数组的第一个和最后一个位置,我们只需要考虑一侧是否为 0。在扫描结束之后,我们将 count 与 n 进行比较。如果 count >= n,那么返回 True,否则返回 False。class Solution { public boolean canPlaceFlowers(int.
分类: 其他 发布时间: 10-15 22:58 阅读次数: 0

spring-boot-route(十六)使用logback生产日志文件

Spring Boot默认使用logback日志框架做为默认的日志系统,我们一起来看看如何生成日志文件
分类: 编程语言 发布时间: 10-15 22:58 阅读次数: 0

力扣-10.13-392

方法一:(自己写的)class Solution { public boolean isSubsequence(String s, String t) { char[] sc=s.toCharArray(); char[] tc=t.toCharArray(); int i=0,j=0; while(i<sc.length && j<tc.length) { if(sc[i]==tc[j]) { i++; j++; .
分类: 其他 发布时间: 10-15 22:58 阅读次数: 0

Linux Server安全配置基线(等保)

第1章概述1.1目的本文档规定了所有维护管理的Linux操作系统的主机应当遵循的操作系统安全性设置标准,本文档旨在指导系统管理人员进行Linux操作系统的安全合规性检查和配置。1.2适用范围本配置标准的使用者包括:服务器管理员、应用管理员、网络安全管理员、运维工程师。本设置标准适用于Linux服务器系统。1.3实施在本标准的执行过程中若有任何疑问或建议,应及时反馈。第2章身份鉴别2.1身份标识唯一
分类: 企业开发 发布时间: 10-15 22:58 阅读次数: 0

你知道Java数组转List的三种方式及对比吗?

前言:本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最佳)通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。关键代码:List list = Arrays.asList(strArray);private void testArrayCas
分类: 编程语言 发布时间: 10-15 22:58 阅读次数: 0

分数查询交互脚本

#!/bin/bashread-p"请输入你的分数:"nif[-z"$n"]``#判断是否为空thenecho"输入的数值不能为空"exit1#为空直接退出脚本fin1=echo$n|sed's/[0-9]//g'#把数值替换成nullif[-n"$n1"]#如果不为空执行以下语句thenecho"请输入正确的数值(在0-
分类: 编程语言 发布时间: 10-15 22:58 阅读次数: 0

Java-10.13

垃圾收集器以上是 HotSpot 虚拟机中的 7 个垃圾收集器,连线表示垃圾收集器可以配合使用。单线程与多线程:单线程指的是垃圾收集器只使用一个线程,而多线程使用多个线程;串行与并行:串行指的是垃圾收集器与用户程序交替执行,这意味着在执行垃圾收集的时候需要停顿用户程序;并行指的是垃圾收集器和用户程序同时执行。除了 CMS 和 G1 之外,其它垃圾收集器都是以串行的方式执行。Serial 收集器Serial 翻译为串行,也就是说它以串行的方式执行。它是单线程的收集器,只会使用一个线程进
分类: 其他 发布时间: 10-15 22:58 阅读次数: 0

iTOP-iMX6开发板-设备树驱动-以module的方式编译驱动

内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动。本文档介绍如何以模块的方式编译内核驱动。以module的方式编译驱动,需要以下几个部分:1内核成功编译过;2找到内核的arm编译器;3编译简单驱动;4编译简单的Makefile文件,Makefile文件中需要指向内核源码目录(成功编译过的内核源码目录);和文档在一起的有“Makefile”、c文件和ko文件,大家可以用来测试。要动态的编
分类: 企业开发 发布时间: 10-15 22:57 阅读次数: 0

分布式id生成策略,我和面试官扯了一个半小时

一、分布式系统带来ID生成挑战在分布式系统中,往往需要对大量的数据如订单、账户进行标识,以一个有意义的有序的序列号来作为全局唯一的ID。而分布式系统中我们对ID生成器要求又有哪些呢?全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。递增:比较低要求的条件为趋势递增,即保证下一个ID一定大于上一个ID,而比较苛刻的要求是连续递增,如1,2,3等等。高可用高性能:ID生成事关重大,一
分类: 编程语言 发布时间: 10-15 22:57 阅读次数: 0