当前位置: 首页 > news >正文

Java的集合

1.  HashMap排序题,上机题。

已知HashMap<IntegerUser>  UsernameStringageint请写法实HashMap 能,该方接收 HashMap<IntegerUser>,返回类 HashMap<IntegerUser>,要HashMapUseragekey=value不得 

注意要做出这题必须对合的体系构非常的HashMap 本身不可排的,但该道题HashMap我们就得API有这MapLinkedHashMapMap是他HashMapLinkedHashMap<Integer,User>

即可父类 

但凡们应JDKAPIJDKAPI法我

该去是首Collections类。 

1. public class HashMapTest { 

2.   public static void main(String[] args) { 

3.   HashMap<Integer, User> users = new HashMap<>(); 

4.   users.put(1, new User("张三", 25));

5.   users.put(3, new User("李四", 22));

6.   users.put(2, new User("王五", 28));

7.   System.out.println(users); 

8.   HashMap<Integer,User> sortHashMap = sortHashMap(users); 

9.   System.out.println(sortHashMap); 

10.   /**

11.    * 控制台输出内 

12.    * {1=User [name=张三, age=25], 2=User [name=王五, age=28], 3=User [name=李四, age=22]}

13.   {2=User [name=, age=28], 1=User [name=张三, age=25], 3=User [name=李四, age=22]}

14.    */ 

15.  }

16.  

17.  public static HashMap<Integer, User> sortHashMap(HashMap<Integer, User> map) { 

18.   // 首先拿map的键值对集 

19.   Set<Entry<Integer, User>> entrySet = map.entrySet(); 

20.  

21.   // set集合转List集合,为什么,为了使用工具类的排序方法 

22.   List<Entry<Integer, User>> list = new ArrayList<Entry<Integer, User>>(entrySet); 

23.   // 使Collections集合工具类list进行排序,排序规则使用匿名内部类来实 

24.   Collections.sort(list, new Comparator<Entry<Integer, User>>() {

25.  

26.   @Override

27.   public int compare(Entry<Integer, User> o1, Entry<Integer, User> o2) { 

28.   //按照要求根Userage的倒序进行排 

29.   return o2.getValue().getAge()-o1.getValue().getAge();

30.   }

31.   });

32.   //创建一个新的有序HashMap子类的集合 

33.   LinkedHashMap<Integer, User> linkedHashMap = new LinkedHashMap<Integer, User>(); 

34.   //List中的数据存储LinkedHashMap 

35.   for(Entry<Integer, User> entry : list){ 

36.   linkedHashMap.put(entry.getKey(), entry.getValue()); 

37.   }

38.   //返回结果 

39.   return linkedHashMap; 

40.  }

41. }

42.  

2.  集合的全性问题 

ArrayListHashSetHashMap线安全的吗线程安办? 

我们的源就看线不安又说

过来没第了。 

集合 Vector  HashTable 线程安源码其实各自法添加上

synchronized关键 

Collections供了API上面3变为安全的。 

1. //  Collections.synchronizedCollection(c) 

2. //  Collections.synchronizedList(list) 

3. //  Collections.synchronizedMap(m) 

4. //  Collections.synchronizedSet(s) 

上面几个函数都有对应的返回值类型,传入什么类型返回什么类型。打开源码其实实现原理非常简单,就是

合的synchronized关键 

3.  ArrayList部用么实现2015-11-24 

(回只回ArrayList何实因为

组在定的ArrayList加对些数?) 

ArrayListObject[]实现们分别分ArrayList addremoveclear方法实现

原理 

构造 

1 

/**
 * Constructs a new {@code ArrayList} instance with zero initial capacity.

 */ 

 public ArrayList() {

 array = EmptyArray.OBJECT; 

}

arrayObject[]new空参构造EmptyArray.OBJECT属性EmptyArray

仅是类源下: 

public final class EmptyArray { 

 private EmptyArray() {}

 public static final boolean[] BOOLEAN = new boolean[0]; 

 public static final byte[] BYTE = new byte[0]; 

 public static final char[] CHAR = new char[0]; 

 public static final double[] DOUBLE = new double[0]; 

 public static final int[] INT = new int[0];

 public static final Class<?>[] CLASS = new Class[0]; 

 public static final Object[] OBJECT = new Object[0]; 

 public static final String[] STRING = new String[0]; 
 public static final Throwable[] THROWABLE = new Throwable[0]; 
 public static final StackTraceElement[] STACK_TRACE_ELEMENT = new StackTraceElement[0]; }

也就当我new ArrayList系统使了一new Object[0] 

2带参1 

 /** 
 * Constructs a new instance of {@code ArrayList} with the specified  * initial capacity.

 * 

 * @param capacity 

 *            the initial capacity of this {@code ArrayList}.

 */ 

 public ArrayList(int capacity) { 

 if (capacity < 0) {
 throw new IllegalArgumentException("capacity < 0: " + capacity); 

 } 
 array = (capacity == 0 ? EmptyArray.OBJECT : new Object[capacity]); }

该构int0抛出0

使用0该值 

32 

/**
 * Constructs a new instance of {@code ArrayList} containing the elements of  * the specified collection.

 * 

 * @param collection

 *            the collection of elements to add.

 */ 

 public ArrayList(Collection<? extends E> collection) { 

 if (collection == null) { 

 throw new NullPointerException("collection == null");

 } 

 Object[] a = collection.toArray(); 

 if (a.getClass() != Object[].class) { 

 Object[] newArray = new Object[a.length]; 

 System.arraycopy(a, 0, newArray, 0, a.length); 

 a = newArray;

 } 

 array = a; 

 size = a.length; 

 } 

如果传入了一Collectionnullnull出空指针

集合转换为数a将该数组arraysize

里面a.getClass是否Object[].class其实也暂加了判断

toArrayCollection接口的子listtoArraySettoArray

返回的都Object[] 

这里实在Java时候作者的很知道他为何ArrayList  array的成方法使时候都会

新在array使用人可array

array大家使array然后使并不

也许代码已。 

add 

add里只 

 /** 
 * Adds the specified object at the end of this {@code ArrayList}.

 * 

 * @param object 

 *            the object to add.

 * @return always true

 */ 

 @Override public boolean add(E object) { 

 Object[] a = array;

 int s = size; 

 if (s == a.length) {

 Object[] newArray = new Object[s + 

 (s < (MIN_CAPACITY_INCREMENT / 2) ? 

 MIN_CAPACITY_INCREMENT : s >> 1)];

 System.arraycopy(a, 0, newArray, 0, s); 

 array = a = newArray; 

 } 

 a[s] = object; 

 size = s + 1; 

 modCount++; 

 return true; 

 } 

1首先array值给asizes 

2判断s否等于数集合的长满了重新

分配新数组了 ,重新分配数组的时候需要计算新分配内存的空间大小,如果当前的长度

MIN_CAPACITY_INCREMENT/21226就是如果612

长度6s的一半长元运s >> 1

s1s=s/2最高算。 

3将新添加object为数a[s] 

4修改sizes+1 

5modCotun++,量是父类集合合修在用

器迭改异是否 

6return true回值意义直返true,除异常 

remove方法 

remove,我removeint index 

 /** 
 * Removes the object at the specified location from this list. 

 * 

 * @param index 

 *            the index of the object to remove.

 * @return the removed object.

 * @throws IndexOutOfBoundsException
 *             when {@code location < 0 || location >= size()}  */ 

 @Override public E remove(int index) { 

 Object[] a = array;

 int s = size; 

 if (index >= s) {

 throwIndexOutOfBoundsException(index, s); 

 } 

 @SuppressWarnings("unchecked")  

 E result = (E) a[index]; 

 System.arraycopy(a, index + 1, a, index, --s - index);

 a[s] = null;  // Prevent memory leak 

 size = s; 

 modCount++; 

 return result; 

 } 

1先将arraysizeas 

2判断index等于了则 

3获取indexresult象作为方 

4Systemarraycopy下图所示 

5接下个元前移动了一位将集合最

个元null就可露。 

6重新arraysize 

7记录 

8返回再看 

clear 

 /** 
 * Removes all elements from this {@code ArrayList}, leaving it empty.

 * 

 * @see #isEmpty 

 * @see #size 

 */ 

 @Override public void clear() { 

 if (size != 0) { 

 Arrays.fill(array, 0, size, null); 

 size = 0; 

 modCount++; 

 } 

 } 

如果0则将nullsize0即可让修改记1 

4.  并发集和普通集合如何别?(2015-11-24 

并发ConcurrentHashMapConcurrentLinkedQueueConcurrentLinkedDeque并发

 

java.util.concurrent

   

jdk1.5

          

Doug

Lea

完成 

java、同步(线全)的并发性能最高线程安全性和线安全synchronized而且对并就更低复杂线程时的 

参考 
  ConcurrentHashMap 是线 HashMap 的实同样 initialCapacity  loadFactor 性,不过一个 concurrencyLevel 认值 160.75  16使术,SegmentSegment存放Entity[]hash将数锁中 

putsynchronizedkey.hashcodehashkeyhash值。hash算法map也不hash算并Segment对象(ReentrantLock),接着调用Segmentput操作 

ConcurrentHashMap  concurrencyLevel 分出多个 Segment  key-value 从而免每put数组佳情可允16线程并发减少 

get(key) 

  key.hashCode  hash 其值 Segment  get 方法完成前操作。而 Segment  get 操作 hash 对象小减 1 值进行按上对HashEntry中,大小对应位置HashEntry生不性,ConcurrentHashMap是如 

  put 发生,由 HashEntry 象数 volatile 类型的,HashEntry发生改变的对小。 

 取到 HashEntry 象后,怎么保证它 next 属性上的对象不ConcurrentHashMap用了HashEntryhashkeynextfinal也就意味HashEntry到基next属性获取HashEntry对象其基next构建化的 

  ConcurrentHashMap 采用分为 16 储, 16 有各自不的锁Segment用于 put  remove 象的,基 volatile  HashEntry 不变性实的不使ConcurrentHashMap能够保持其是除频Map而言法也是对Java模型的体 

5.  List的三子类特点

ArrayList ,底层询快,删慢。 

LinkedList 表型的,, 

voctor  底层 线安全,,慢。 

6.  ListMapSet的区别2017-11-22-wzz 

6.1  结构特 

List Set据的Map和值合;List的数据是有顺,并且允Map 的数键是是可Set 存储据是无序元素hashcode置是Sethashcode

进行以位置是置不是用所以对于set素还序的 

6.2  实现类 

ListLinkedList实现每一个元的同存储链表ArrayList非线全的便于,但不便于Vector基于线的, 

Map 类(HashMap hash  Map 线程安支持 null  nullHashTable线nullnullLinkedHashMapHashMap个子存了记录SortMapTreeMap把它序,序) 

Set 现类HashSet HashMap 集合有重使时需重写 equals() hashCode()方法;LinkedHashSet继承HashSetLinkedHashMap进行层使用的LinkedHashMp)。 

6.3  区别 

List 中对象照索位置排序,有重复,允许按对象在集的索引位检索对象例如list.get(i)集合中的元素Map个元可以重复对象可Set对象它的对象的方TreeSet也可Java.util.Comparator<Type>来自序方式 

7.  HashMap HashTable什么?

HashMap线安全的,HashMap,Map接口,将键对象,许键重复,

允许空值;线程安全,HashMap效率HashTable一些. 

HashTable 线一个,nullkeyValue;
HashTable  sychronize,多个线访己为, HashMap 线访问时候需现同步; 

8.  数组和表分别比较适合于什景,为么?

8.1  数组和链表 

在计算机中要对给定的数据集进行若干处理,首要任务是把数据集的一部分(当数据量非常大时,可能只能部分一存中到内中的 

例如 S{123456} S 中元据存将内存中数据 

当内存空间中有足够大的连续空间时,可以把数据连续的存放在内存中,各种编程语言中的数组一般都是按种方式存也可外), 1b);内存中些离用空间连续据就非了,这时式是把离的一1c所示做当然也可以,但是这种情况因为可能要移动别人的数据,所以会存在一些困难,移动的过中也有可能会把一些人的重外一存储方式分开连续,如d能把数据的存数据这样只知道内存间的址就相扣把数集整在一了。C/C++的链就是种存储 

由上可知,内存中的存储形式可以分为连续存储和离散存储两种。因此,数据的物理存储结构就有连续存储离散存我们 

8.2  数组和链表区别 

数组续存储的优点因为数据储的地址据的候效率比较高储之块连空间并且在编好它的大小。在运行的时候空间的大小是无法随着你的需要进行增加和减少而改变的,当数据两比较大的时候,有可能会现越界的时掉内数据个数数据  链表是动态申请内存空间,不需要像数组需要提前申请好内存的大小,链表只需在用的时候申请就可以,根需要来动态申请或者删除内存空间,对于数据增加和删除以及插入比数组灵活。还有就是链表中数据在内中可以任意的联数素的 

8.3  链表和数组使用场景 

数组场景按序号访容易语言都支构建的线 

链表线的长;频构建线 

8.4  跟数组相关面试题 

组中value 按如出:  1 1  

3 2  

8 3  

2 4  

int[] arr = {1,4,1,4,2,5,4,5,8,7,8,77,88,5,4,9,6,2,4,1,5}; 

9.  JavaArrayListLinkedlist

ArrayListVector使了数ArrayListVector装了比如向数组中添元素定向 

LinkedList使向链基于ArrayList是两决定了同的 

LinkedList表项总是3元素内容如图 

在下个包3个元LinkedList个表JDK,无LikedList是否为空header表项示链表的结尾header驱表便链表中第header便是链表中最后 

10. List a=new ArrayList()ArrayList a =new ArrayList()的区别 

List list = new ArrayList();这句了一ArrayList的对溯到ListList对象有些ArrayList 有但 List 有的能再 ArrayList  list=new ArrayList();一对留了ArrayList 所以ArrayList有的者。 

1List list = new ArrayList(); 

2ArrayList arrayList = new ArrayList(); 

3list.trimToSize(); //错误,没有该方法 

4arrayList.trimToSize();   //ArrayList里有该方法。 

11. 要对集更新操作时,ArrayListLinkedList合?(2017-2-24) 

1.ArrayList动态数据结构LinkedList构。 

  2.合数于集机访getsetArrayListLinkedListLinkedList要移  

  3.合数于集 add  removeLinedList 比较 ArrayList 移动数据。 

ArrayList LinkedList 是两一系(references)ArrayList 存储StringInteger ArrayListLinkedList上有什么ArrayList什么又该LinkedList呢? 

时间 
首先ArrayList础的使get访中的一个元(random  access),它LinkedListLinkedListget表的一端始检查,LinkedList访的某的方 

假设好序ArrayListLinkedList

类型列表查找(binary  search) ArrayList  LinkedList 时的度,

看下 

1public class TestList{

2     public static final int N=50000;    //50000个数 

3     public static List values;           //查找的集合 

4      //50000个数value 

5     static{

6         Integer vals[]=new Integer[N];

7         Random r=new Random(); 

8         for(int i=0,currval=0;i<N;i++)...{ 

9             vals=new Integer(currval); 

10             currval+=r.nextInt(100)+1; 

11         }

12         values=Arrays.asList(vals);

13     }

14     //通过二分查找法查 

15     static long timeList(List lst){

16         long start=System.currentTimeMillis(); 

17         for(int i=0;i<N;i++)...{ 

18             int index=Collections.binarySearch(lst, values.get(i));

19             if(index!=i) 

20                 System.out.println("***错误***");

21         }

22         return System.currentTimeMillis()-start;

23     }

24     public static void main(String args[])...{

25         System.out.println("ArrayList消耗时间"+timeList(new ArrayList(values)));

26         System.out.println("LinkedList消耗时间"+timeList(new LinkedList(values)));

27     }

28}

得到 

1. ArrayList消耗时间:15

2. LinkedList消耗时间:2596

,但 ArrayList  LinkedList 种情宜用

LinkedList使用访(random access) LinkedList 机访问的一个

Entryreference 时还LinkedList的上素。1000元素LinkedList1000个链接在 Entry每个的一。这样LinkedList的空1000  Entity的相 

ArrayList使数组 组的容量10.需要如下公式获=(*3)/2+1是说容量会增50% 这就个包元素ArrayList最终浪费ArrayList 果没有的元重新便加新重新将会导致我们  ArrayList将会可以容量还可以trimToSizeArrayList去掉 间。 

三. 
ArrayListLinkedList性能各自说来 
1ArrayList  LinkedList加一是固ArrayList言,主要是项, 组重新进LinkedList这个开Entry 

2ArrayList间插入或这个会被;而LinkedList中间插入销是的。 

3LinkedList高效的随访问。 

4ArrayList主要list结尾LinkedList费则现在它的耗相空间 
可以一列而不中间,需要访素时,使ArrayList性能列数或删数据,访问元素时,该使LinkedList 

12. 请用两队列模拟堆栈结

两个队列是先如下 

ab 

1入栈ab为空。例a,b,c,d,e需要aaa,b,c,d,e 

2出栈aa,b,c,,d,e”。a列依次加Arraylistaa的集

合取bb 

1 public static void main(String[] args) {

2          Queue<String> queue = new LinkedList<String>();  //a  

3          Queue<String> queue2=new LinkedList<String>();   //b队列 

4          ArrayList<String> a=new ArrayList<String>();     //arrylist集合是中间参数 

5          //a队列添加元 

6          queue.offer("a");

7          queue.offer("b"); 

8          queue.offer("c"); 

9          queue.offer("d"); 

10         queue.offer("e"); 

11         System.out.print("进栈:");

12        //a队列依次加list集合之中 

13         for(String q : queue){ 

14          a.add(q);

15           System.out.print(q);

16         } 

17        //以倒序的方法取出(a队列依次加list)之中的值,加b对列 

18         for(int i=a.size()-1;i>=0;i--){

19          queue2.offer(a.get(i));

20         } 

21        //打印出栈队 

22         System.out.println(""); 

23         System.out.print("出栈:");

24         for(String q : queue2){

25             System.out.print(q); 

26         } 

27  } 

打印先进): 

进栈:a b c d e

出栈:e d c b a

13. CollectionMap的集成

Collection 

Map 

14. Mapkeyvalue可以null

HashMapkeyvaluenull 

HahTablekeyvaluenull 

且两者的key不能重复key同的键值value自动前面value不会错。

测试 

1. public class Test {

2.  

3.     public static void main(String[] args) {

4.         Map<String, String> map = new HashMap<String, String>();//HashMap对象 

5.         Map<String, String> tableMap = new Hashtable<String, String>();//HashTable对象 

6.  

7.         map.put(null, null);

8.         System.out.println("hashMap[key][value]均可以null:" + map.get(null));

9.  

10.         try { 

11.             tableMap.put(null, "3");

12.             System.out.println(tableMap.get(null));

13.         } catch (Exception e) {

14.             System.out.println("ERROR】:hashTable[key]不能null");

15.         } 

16.  

17.         try { 

18.             tableMap.put("3", null);

19.             System.out.println(tableMap.get("3"));

20.         } catch (Exception e) {
21.             System.out.println("ERROR】:hashTable[value]不能null"); 22.         } 

23.     } 

24.  

25. }

运行 

hashMap[key][value]null:null

ERRORhashTable[key]null

ERRORhashTable[value]null 

相关文章:

Java的集合

1. HashMap排序题&#xff0c;上机题。 已知一个HashMap<Integer&#xff0c;User>集合&#xff0c; User有name&#xff08;String&#xff09;和age&#xff08;int&#xff09;属性。请写一个方法实现对HashMap 的排序功能&#xff0c;该方法接收 HashMap<Intege…...

addr2line 使用,定位kernel panic 代码位置

在kernel崩溃时&#xff0c;方便定位代码。 需要打开kernel配置CONFIG_DEBUG_INFO。 需要有System.map和vmlinux文件&#xff0c;一般在out目录。 一般panic的时候会有给出panic的指针&#xff0c;如下down_write。 el1_data说明发生异常了&#xff0c;进入和entry.S文件&a…...

OpenAI目前所有模型介绍

目录 概述 GPT-4 (limted beta) GPT-3.5 GPT-3 各类模型介绍 DALLE Beta Whisper Beta Embeddings Moderation Codex (deprecated) 概述 模型描述GPT-4 Limited beta 一组在 GPT-3.5 上改进的模型&#xff0c;可以理解并生成自然语言或代码GPT-3.5一组在 GPT-3 上改…...

【P43】JMeter 吞吐量控制器(Throughput Controller)

文章目录 一、吞吐量控制器&#xff08;Throughput Controller&#xff09;参数说明二、测试计划设计2.1、Total Executions2.2、Percent Executions2.3、Per User 一、吞吐量控制器&#xff08;Throughput Controller&#xff09;参数说明 允许用户控制后代元素的执行的次数。…...

方正书版命令详解

方正书版常用的排版符包括&#xff1a; 空格&#xff1a;表示文字之间的间距&#xff0c;不同字号的文字需要适当调整空格大小。 省略号&#xff1a;用于省略一段文字&#xff0c;通常用三个点表示&#xff08;…&#xff09;。 破折号&#xff1a;用于表示强调或者断句&…...

Gradio的web界面演示与交互机器学习模型,高级接口特征《6》

大多数模型都是黑盒&#xff0c;其内部逻辑对最终用户是隐藏的。为了鼓励透明度&#xff0c;我们通过简单地将Interface类中的interpretation关键字设置为default&#xff0c;使得向模型添加解释变得非常容易。这允许您的用户了解输入的哪些部分负责输出。 1、Interpret解释 …...

本地项目上传到Git(Gitee)仓库

一、步骤解答&#xff08;详细图解步骤见第二大点&#xff09; 1、打开我们的项目所在文件夹&#xff0c;我们发现是不存在.git文件 2、在你的项目文件夹外层【鼠标右击】弹出菜单&#xff0c;在【鼠标右击】弹出的菜单中&#xff0c;点击【Git Bash Here】&#xff0c;弹出运…...

Android 12.0屏蔽掉SystemUI的某些通知提示音

1.概述 在12.0的系统开发中,在系统SystemUI中会发一些通知的声音,但是同时也会在开机的时候,会有一些通知的声音,特别是不想要的一些通知的声音, 这些对于产品还是有一些影响的,所以为了产品体验,就需要屏蔽掉一些开机的通知的声音 2.屏蔽某些通知的提示音的核心代码 …...

测试计划模板二

XXX测试计划 文档作者: 编写日期: 项目经理: 批准日期: 文档模板修改纪录表 日期 修改人 修改内容描述...

华为OD机试真题B卷 Java 实现【分奖金】,附详细解题思路

一、题目描述 公司老板做了一笔大生意&#xff0c;想要给每位员工分配一些奖金&#xff0c;想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序&#xff0c;每个人随机抽取一个数字。按照工号的顺序往后排列&#xff0c;遇到第一个数字比自己数字大的&#xff0c;那么…...

IMX6ULL平台I2C数据结构分析

IMX6ULL平台I2C数据结构分析 文章目录 IMX6ULL平台I2C数据结构分析i2c_clienti2c_adapterimx_i2c_structimx_i2c_hwdataimx_i2c_dma 在 i.MX 平台的 I2C 驱动中&#xff0c;存在多个相关的结构体&#xff0c;它们之间的联系和在内核中的作用如下&#xff1a; struct i2c_client…...

实时时钟 RTC(2)

RTC 使能与停止 RTC 上电后立即启动&#xff0c;不可关闭&#xff0c;软件应在32K 晶体振荡器完全起振后再设置当前时间&#xff1b;在晶体振荡器起振之前芯片使用内部环振计时&#xff0c;偏差较大。 RTC 时间设置 软件可以在任意时刻直接设置RTC 时间寄存器&#xff1b;由于…...

弄懂局部变量

成员变量和局部变量的区别 多个线程调用同一个对象的同一个方法时&#xff1a; 如果方法里无成员变量&#xff0c;那么不受任何影响 如果方法里有成员变量&#xff0c;只有读操作&#xff0c;不受影响 存在写操作&#xff0c;考虑多线程影响值 多线程调用…...

倾斜摄影三维模型数据的高程偏差修正的几何纠正技术方法探讨

倾斜摄影三维模型数据的高程偏差修正的几何纠正技术方法探讨 倾斜摄影是一种先进的数字摄影技术&#xff0c;可以生成高分辨率、高精度的三维模型数据。然而&#xff0c;在倾斜摄影中&#xff0c;由于相机的倾斜角度和地形的高程差异&#xff0c;可能会出现高程偏差问题。为了…...

怎么发表CCF期刊?CCF期刊有什么不同之处? - 易智编译EaseEditing

发表CCF期刊&#xff0c;可以参考一下步骤&#xff1a; 选择目标期刊&#xff1a; 首先选择一个适合自己的目标期刊&#xff0c;可以是CCF推荐的高水平期刊&#xff0c;也可以是其他被广泛认可的期刊。 撰写论文&#xff1a; 根据目标期刊的要求&#xff0c;撰写论文。确保论…...

feat:使用企业微信JS-SDK的onMenuShareAppMessage()实现点击转发自定义分享内容(TypeScript)

背景&#xff1a;企业微信应用使用企业微信JS-SDK的分享接口实现分享样式自定义 原生&#xff1a; 需要实现成&#xff1a; 企业微信JS-SDK 是企业微信面向网页开发者提供的 基于企业微信内 的网页开发工具包。 通过使用企业微信JS-SDK&#xff0c;网页开发者 可借助企业微信…...

Java键盘事件处理及监听机制解析

文章目录 概念KeyEventKeyListener代码演示总结 概念 Java事件处理采用了委派事件模型。在这个模型中&#xff0c;当事件发生时&#xff0c;产生事件的对象将事件信息传递给事件的监听者进行处理。在Java中&#xff0c;事件源是产生事件的对象&#xff0c;比如窗口、按钮等&am…...

Git详解——安装、使用、搭建、IDEA集成

Git 看目录&#xff0c;篇幅挺长&#xff0c;越往后面越重要 目录一、git是什么&#xff1f;二、为什么要使用Git&#xff1f;三、版本控制工具四、git下载安装以及环境配置五、git基本命令六、git项目搭建七、远程仓库怎么搞&#xff1f;git,gitlab,github,gitee区别八、ide…...

【JavaSE】Java基础语法(二十一):内部类

文章目录 1. 内部类的基本使用2. 成员内部类3. 局部内部类4. 匿名内部类5. 匿名内部类在开发中的使用&#xff08;应用&#xff09; 1. 内部类的基本使用 内部类概念 在一个类中定义一个类。举例&#xff1a;在一个类A的内部定义一个类B&#xff0c;类B就被称为内部类 内部类定…...

Ceph应用

//存储类型 块存储 一对一&#xff0c;只能被一个主机挂载使用&#xff0c;数据以块为单位进行存储&#xff0c;典型代表: 硬盘 文件存储 一对多&#xff0c;能被多个主机同时挂载使用&#xff0c;数据以文件的形式存储的(元数据和实际数据是分开存储的)&#xff0c;并且有…...

Oxford online English-Chair a Meeting 05/29

Part1-Welcoming attendees and starting the meeting Getting people’s attention If I could have your attention, please. Could I have your attention, please? Good afternoon, everyone. -> Good afternoon, everyone, could I have your attention, please?…...

LeetCode: 二叉树的直径(java)

二叉树的直径 leetcode 543题。原题链接题目描述解题代码二叉树专题 leetcode 543题。原题链接 543题&#xff1a;二叉树的直径 题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也…...

springboot+vue+java旅行旅游景点酒店预订出行订票系统eaog5

线上旅行信息管理系统要求实现以下功能&#xff1a; a.景点管理&#xff0c;展示景点的基础信息&#xff0c;介绍等信息。 b.酒店管理,展示酒店的基础信息&#xff0c;介绍等信息。 c.评价管理&#xff0c;可以查看景点或酒店的相关评价信息&#xff0c;客户消费完&#xff0c;…...

Linux :: 【基础指令篇 :: 用户管理:(2)】::设置用户密码(及本地Xshell 登录云服务器操作演示) :: passwd

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 目录索引&am…...

img[:, :, ::-1] 通俗理解

&#x1f468;‍&#x1f4bb;个人简介&#xff1a; 深度学习图像领域工作者 &#x1f389;工作总结链接&#xff1a;https://blog.csdn.net/qq_28949847/article/details/128552785 链接中主要是个人工作的总结&#xff0c;每个链接都是一些常用demo&#xff0c…...

基于springboot+vue+elementui的健身房会员管理系统的

为了帮助用户更好的了解和理解程序的开发流程与相关内容&#xff0c;本文将通过六个章节进行内容阐述。 第一章&#xff1a;描述了程序的开发背景&#xff0c;程序运用于现实生活的目的与意义&#xff0c;以及程序文档的结构安排信息&#xff1b; 第二章&#xff1a;描述了程序…...

在酒店房间中的数据库索引

如果你经常去酒店&#xff0c;你会看到一块类似下面的标牌&#xff0c;指引你到达房间。这能够帮助你方便快速地找到房间&#xff0c;特别是当酒店拥有许多房间时。 以一个有9层的酒店为例。你的房间号是917。第一步是找到你的房间在哪一层&#xff0c;通常第一个数字表示楼层…...

Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程

1、客户端API操作 1.1 IDEA 环境搭建 前提&#xff1a;保证 hadoop102、hadoop103、hadoop104 服务器上 Zookeeper 集群服务端启动。 1、创建一个工程&#xff1a;Zookeeper 2、添加pom文件 <?xml version"1.0" encoding"UTF-8"?> <project …...

Stack 栈的实现与应用

目录 1. 概念 2. 常用的栈的方法 2.1 方法 2.2 代码 3. 自己实现栈 3.1 构造MyStack 3.2 push() 3.3 ensureCapacity&#xff08;&#xff09; 3.4 pop() 3.5 peek() 3.6 empty() 3.7 szie() 4. 栈的应用 1. 概念 栈&#xff08;Stack&#xff09;是一种数据结构&…...

CSDN中如何获得铁粉(用心篇)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...