Java基础
文章平均质量分 79
Java基础
kelley_luxuiary
这个作者很懒,什么都没留下…
展开
-
CreateProcess error=206, The filename or extension is too long 解决方法
问题:java main()启动报错解决方法:Run-->Edit Configurations修改Shorten command line-->选择JAR manifest--> ok启动成功!!!原创 2020-09-03 10:09:11 · 3422 阅读 · 0 评论 -
java实现树的遍历
树 是一种经常用到的数据结构,用来模拟具有树状结构性质的数据集合。树里的每一个节点有一个值和一个包含所有子节点的列表。从图的观点来看,树也可视为一个拥有N 个节点和N-1 条边的一个有向无环图。二叉树是一种更为典型的树状结构。如它名字所描述的那样,二叉树是每个节点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。树的遍历分为前序遍历、中序遍历、后序遍历。 ...原创 2020-08-04 12:29:25 · 1401 阅读 · 0 评论 -
买卖股票的最佳时机 II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 ...原创 2020-08-04 12:17:45 · 2736 阅读 · 1 评论 -
java实现-删除排序数组中的重复项
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, ...原创 2020-08-04 11:57:50 · 390 阅读 · 0 评论 -
【每日一题】爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x
爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作:选出任一x,满足0 < x < N 且N % x == 0。用 N - x替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回True,否则返回 false。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例 2:输...原创 2020-07-24 10:09:30 · 3691 阅读 · 0 评论 -
【每日一题】给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。
给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。class Solution { public int minPathSum(int[][] grid) { int[][] dp= new int[grid.length][gri...原创 2020-07-23 11:07:04 · 5793 阅读 · 0 评论 -
给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。 完成所有替换操作后,请你返回这个数组。
给你一个数组arr,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用-1 替换。完成所有替换操作后,请你返回这个数组。示例:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]提示:1 <= arr.length <= 10^41 <= arr[i] <= 10^5方法一:class Solution { public int[] replaceElements(int[] a...原创 2020-07-22 13:30:38 · 753 阅读 · 0 评论 -
【每日一题】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5]
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0class Solution { public int minArray(int[] numbers) { int l = 0, r = numbe...原创 2020-07-22 10:57:35 · 455 阅读 · 0 评论 -
给你一个以行程长度编码压缩的整数列表 nums 。 考虑每对相邻的两个元素 [freq, val] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),每一对都表示解压后
给你一个以行程长度编码压缩的整数列表nums。考虑每对相邻的两个元素 [freq, val] = [nums[2*i], nums[2*i+1]](其中i >= 0),每一对都表示解压后子列表中有 freq个值为val的元素,你需要从左到右连接所有子列表以生成解压后的列表。请你返回解压后的列表。示例:输入:nums = [1,2,3,4]输出:[2,4,4,4]解释:第一对 [1,2] 代表着 2 的出现频次为 1,所以生成数组 [2]。第二对 [3,4] 代表着...原创 2020-07-21 10:44:18 · 275 阅读 · 0 评论 -
【面试题】高级Java 面试知识点总结
1.Hashmap底层执行原理, 在多线程里Hashmap是不安全的存储结构:数组,链表、红黑树(jdk1.8+)特点: 快速存储,快速查找(key-value键值对,时间复杂度O(1)),可伸缩(数组默认大小16,可扩容;单向链表超过8bit扩容成红黑树)hash算法所有对象Object都有hashcode值。e.g String.hashCode();hash值 ^ (hash值>>>16)数组下标:上述算法计算的hash值 &(16-1)== hash值 %16原创 2020-07-20 21:47:02 · 172 阅读 · 0 评论 -
215. 数组中的第K个最大元素。在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。
215. 数组中的第K个最大元素在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。方法一:Arrays,自带排序方法classSolution{publicin...原创 2020-06-29 12:35:38 · 616 阅读 · 0 评论 -
不使用任何内建的哈希表库设计一个哈希集合 具体地说,你的设计应该包含以下的功能。add(value):向哈希集合中插入一个值。 contains(value) :返回哈希集合中是否存在这个值。
不使用任何内建的哈希表库设计一个哈希集合具体地说,你的设计应该包含以下的功能add(value):向哈希集合中插入一个值。 contains(value):返回哈希集合中是否存在这个值。 remove(value):将给定值从哈希集合中删除。如果哈希集合中没有这个值,什么也不做。示例:MyHashSet hashSet = new MyHashSet();hashSet.add(1); hashSet.add(2); hashSet.contain...原创 2020-06-28 10:21:41 · 617 阅读 · 0 评论 -
给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排
给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排后的数组。示例 1:输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7]解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]示例 2:输入:nums = [1,2,3..原创 2020-06-28 09:22:23 · 2203 阅读 · 0 评论 -
给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。
给你两个整数,n 和 start 。数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。请返回 nums 中所有元素按位异或(XOR)后得到的结果。classSolution{publicintxorOperation(intn,intstart){intres=0;for(inti=0;i<n;i++){res^=(...原创 2020-06-28 09:01:26 · 1333 阅读 · 0 评论 -
给你一个长度为 n 的整数数组 nums,其中 n大于1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。
给你一个长度为n的整数数组nums,其中n > 1,返回输出数组output,其中 output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]提示:题目数据保证数组之中任意元素的全部前缀元素和后缀(甚至是整个数组)的乘积都在 32 位整数范围内。说明: 请不要使用除法,且在O(n) 时间复杂度内完成此题。方法一:classSolution{publicin...原创 2020-06-04 12:03:06 · 1504 阅读 · 0 评论 -
【每日一练】给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。
给你一个数组candies和一个整数extraCandies,其中candies[i]代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有 最多的糖果。注意,允许有多个孩子同时拥有 最多的糖果数目。示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子 1 有 2 个糖果,...原创 2020-06-01 14:27:26 · 978 阅读 · 0 评论 -
采用多线程技术,例如wait/notify,设计实现一个符合生产者和消费者问题的程序,对某一个对象(枪膛)进行操作,其最大容量是20颗子弹,生产者线程是一个压入线程,它不断向枪膛中压入子弹,消费者线程
采用多线程技术,例如wait/notify,设计实现一个符合生产者和消费者问题的程序,对某一个对象(枪膛)进行操作,其最大容量是20颗子弹,生产者线程是一个压入线程,它不断向枪膛中压入子弹,消费者线程是一个射出线程,它不断从枪膛中射出子弹。package com.kelley;public class Demo052901 { public static final Integer MAX_SIZE = 20; public static final Integer .原创 2020-05-29 13:25:47 · 705 阅读 · 0 评论 -
【每日一练】你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。示例 2:...原创 2020-05-29 09:20:31 · 3584 阅读 · 0 评论 -
给定两个列表 Aand B,并且 B 是 A 的变位(即 B 是由 A 中的元素随机排列后组成的新列表)。
给定两个列表 Aand B,并且 B 是 A 的变位(即B 是由A 中的元素随机排列后组成的新列表)。我们希望找出一个从 A 到 B的索引映射 P 。一个映射 P[i] = j指的是列表A 中的第 i 个元素出现于列表B 中的第 j 个元素上。列表 A 和 B 可能出现重复元素。如果有多于一种答案,输出任意一种。例如,给定A = [12, 28, 46, 32, 50]B = [50, 12, 32, 46, 28]需要返回[1, 4, 3, 2, 0]P[0] ...原创 2020-05-28 16:15:32 · 284 阅读 · 0 评论 -
给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。
给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100 数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.classSolution{publicboolean...原创 2020-05-28 14:44:23 · 2389 阅读 · 0 评论 -
【Java面试题】调用yield()、sleep()、notify()、wait()等方法对锁有何影响?
yield():让出CPU的执行权,进入就绪状态,不会释放锁;sleep():线程休眠,但不会释放锁;notify():对锁无影响,线程只有在synchronized同步代码执行完成后,才会释放锁, 所以,notify系列方法一般都是在synchronized同步代码的最后一行。wait():会释放当前线程所持有的锁,而且当被唤醒后,会重新去竞争锁,锁竞争到后才会执行wait方法后面的代码。...原创 2020-05-27 14:11:34 · 207 阅读 · 0 评论 -
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。
给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n2) 。数组中只有一个重复的数字,但它可能不止重复出现一次。方法一:classSolution...原创 2020-05-26 10:51:43 · 2297 阅读 · 0 评论 -
synchronized 不是万能,错误加锁
Java支持多个线程同时访问一个对象或者对象的成员变量,synchronized关键字可以修饰方法或者同步代码块的方法,确保多个线程在同一时刻,只能有一个线程处于方法或者同步代码块中,保证了线程对变量访问的可见性和排他性public class Demo052501 { private static class ThreadDemo implements Runnable{ private Integer i; public ThreadDemo..原创 2020-05-25 14:24:53 · 206 阅读 · 0 评论 -
给定一个二叉树,判断它是否是高度平衡的二叉树。
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树[3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回true。示例 2:给定二叉树[1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3 ...原创 2020-05-15 17:23:10 · 814 阅读 · 0 评论 -
老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。
老师想给孩子们分发糖果,有N个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例1:输入: [1,0,2]输出: 5解释: 你可以分别给这三个孩子分发 2、1、2 颗糖果。示例2:输入: [1,2,2]输出: 4解释: 你可以分别给这三个孩子分发 1、2、1 颗糖果。 ...原创 2020-05-15 16:10:21 · 1751 阅读 · 0 评论 -
Thread 和 Runnable 区别?
创建线程的方式有几种?JDK 8 Thread.java第73行明确指出,有两种方式!!!一种方法是:class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // c...原创 2020-05-15 14:05:11 · 148 阅读 · 0 评论 -
在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。
在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。示例 1:输入...原创 2020-05-11 15:45:06 · 3520 阅读 · 0 评论 -
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例2:输入: nums = [5,7,7,8,8,10], target = 6输出: [-1,-1]classSolution{publi...原创 2020-05-11 15:22:33 · 7842 阅读 · 0 评论 -
给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”
给出N名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: ["Gold Medal", "Silver Medal", "Bro...原创 2020-05-08 13:28:29 · 1116 阅读 · 0 评论 -
给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。
给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount = 3, coins = [2]输出: 0解...原创 2020-05-08 11:46:17 · 4191 阅读 · 1 评论 -
验证回文串
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falsepublicbooleanisPalindrome(Strings){...原创 2020-05-08 10:56:02 · 118 阅读 · 0 评论 -
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。
设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。push(x)—— 将元素 x 推入栈中。 pop()—— 删除栈顶的元素。 top()—— 获取栈顶元素。 getMin()—— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","get...原创 2020-05-08 09:50:24 · 1235 阅读 · 0 评论 -
设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。
设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。你的KthLargest类需要一个同时接收整数k和整数数组nums的构造器,它包含数据流中的初始元素。每次调用KthLargest.add,返回当前数据流中第K大的元素。示例:int k = 3;int[] arr = [4,5,8,2];KthLargest kthLa...原创 2020-05-07 16:49:03 · 454 阅读 · 0 评论 -
深浅拷贝
以下代码的运行结果是?public static void main(String[] args) { List<Car> a1 = new ArrayList<>(); List<Car> a2 = new ArrayList<>(); Car c = new Car(); c....原创 2020-04-29 11:04:51 · 104 阅读 · 0 评论 -
给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。
给定一个以字符串表示的非负整数num,移除这个数中的k位数字,使得剩下的数字最小。注意:num的长度小于 10002 且≥k。 num不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = ...原创 2020-04-26 17:34:35 · 3828 阅读 · 0 评论 -
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], ...原创 2020-04-26 16:29:34 · 1030 阅读 · 0 评论 -
给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。
给定一个mxn的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]示例2:输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5]...原创 2020-04-26 16:26:22 · 1845 阅读 · 0 评论 -
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -...原创 2020-04-26 16:23:17 · 251 阅读 · 0 评论 -
Java的23种设计模式
一。设计模式分类:总体来说设计模式分为三大类:(1)创建型模式(3):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。(2)结构型模式(7):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。(3)行为型模式(11):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。...原创 2020-04-24 16:17:28 · 110 阅读 · 0 评论 -
Java 和 Python 的区别
区别:语法上:1.Python比Java简单,学习成本低,开发效率高.Java运行效率高于Python,尤其是纯Python开发的程序,效率低3.Java相关资料多,尤其是中文资料6.Java偏向于商业开发,Python适合于数据分析7.Java是一种静态类型语言,Python是一种动态类型语言8.Java中的所有变量需要先声明(类型)才能使用,Python中的变量不需...原创 2020-04-22 13:58:55 · 627 阅读 · 0 评论