
JAVA
文章平均质量分 76
Antrn
和光同尘,与时舒卷;戢鳞潜翼,思属风云。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HashMap
什么是hash,hash值怎样生成的.Hash:hash 翻译做“散列”,也可直译为“哈希”,就是把任意长度的值输入,通过hash()函数输出固定长度的消息摘要。哈希表(Hash table):table 是一个 Entry[]数组类型,而 Entry 实际上就是一个单向链表。哈希表的"key-value 键值对"都是存储在 Entry 数组中的。(可以实现fail-fast机制)。哈希函数:能够将集合中任意可能的元素映射到一个固定范围的整数值,并将该元素存储到整数值对应的地址上,加快查找速度。ha原创 2021-05-25 10:28:56 · 724 阅读 · 0 评论 -
Java I/O
BIO阻塞,最原始的BIO是服务端等待客户端连接,每次只能处理一个连接,不支持并发。支持并发的方法:每次来一个连接请求,就新开一个线程去处理,这样的缺点是如果出现C10K:10000个连接,线程,占用内存越来越多,会导致内存被占满。C10M如果使用线程池,那么可能最大线程的数量受限制,导致并发量不高。所以出现NIO来解决这些问题。Java中BIO使用ServerSocket,NIO使用ServerSocketChannel将每次的socketChannel放到一个List中,但是问题是,10原创 2021-05-20 08:54:12 · 168 阅读 · 0 评论 -
【多线程-LeetCode】*哲学家进餐
5 个沉默寡言的哲学家围坐在圆桌前,每人面前一盘意面。叉子放在哲学家之间的桌面上。(5 个哲学家,5 根叉子)所有的哲学家都只会在思考和进餐两种行为间交替。哲学家只有同时拿到左边和右边的叉子才能吃到面,而同一根叉子在同一时间只能被一个哲学家使用。每个哲学家吃完面后都需要把叉子放回桌面以供其他哲学家吃面。只要条件允许,哲学家可以拿起左边或者右边的叉子,但在没有同时拿到左右叉子时不能进食。假设面的...原创 2020-03-04 13:08:14 · 305 阅读 · 0 评论 -
【多线程-LeetCode】交替打印字符串
编写一个可以从 1 到 n 输出代表这个数字的字符串的程序,但是:如果这个数字可以被 3 整除,输出 “fizz”。如果这个数字可以被 5 整除,输出 “buzz”。如果这个数字可以同时被 3 和 5 整除,输出 “fizzbuzz”。例如,当 n = 15,输出: 1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11...原创 2020-03-04 12:38:45 · 360 阅读 · 0 评论 -
【多线程-LeetCode】H2O 生成
现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。这些线程应该三三成组突破屏障并能立即组合产生一个水分子。你必须保证产生一个水分子所需线程的结合必须发...原创 2020-03-03 16:13:47 · 373 阅读 · 0 评论 -
【多线程-LeetCode】打印零与奇偶数
假设有这么一个类:class ZeroEvenOdd { public ZeroEvenOdd(int n) { ... } // 构造函数 public void zero(printNumber) { ... } // 仅打印出 0 public void even(printNumber) { ... } // 仅打印出 偶数 public void odd(...原创 2020-03-03 15:24:18 · 318 阅读 · 0 评论 -
【多线程-LeetCode】交替打印FooBar
我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } ...原创 2020-03-03 14:09:02 · 396 阅读 · 0 评论 -
【多线程-LeetCode】 按序打印
我们提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B 将会调用...原创 2020-03-03 13:23:13 · 372 阅读 · 0 评论 -
Java 垃圾收集器与内存分配策略
“Java和C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人想出来。”垃圾收集(Garbage Collection,GC)当需要排查各种内存溢出,内存泄漏问题时,当垃圾收集称为系统达到更高并发量的瓶颈时,就需要对这些自动化的技术实施必要的监控和调节。java堆中的内存的分配个回收都是动态的,垃圾收集器所关注的是这部分内容。堆中几乎存放着所有对象实例,垃...原创 2020-01-09 17:38:14 · 235 阅读 · 0 评论 -
6. Z字形变换 ZigZag Conversion(LeetCode)
题目The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) 将字符串 “PAYPALISHIRING” ...原创 2018-06-07 22:25:08 · 4956 阅读 · 2 评论 -
2019-10-08 第K个语法符号
在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。给定行数 N 和序数 K,返回第 N 行中第 K个字符。(K从1开始)例子:输入: N = 1, K = 1输出: 0输入: N = 2, K = 1输出: 0输入: N = 2, K = 2输出: 1输入: N = 4, K = 5输出: 1解释:第一行: 0第二行: 01第三行: 01...转载 2019-10-08 21:57:09 · 405 阅读 · 0 评论 -
2019-09-13 报数
报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即&nb...原创 2019-09-14 00:20:40 · 239 阅读 · 0 评论 -
blockly中如何实现添加任意键值对生成字典?[Python]
如果想要用户使用block添加任意数量的键值对,生成一个python字典,使用官方提供的现有的工具是做不到的。我首先想到的是利用text input和numeric input两个block,将其数据进行绑定形成一个键值对,然后将此生成的键值对插入到新建的dict字典变量中去。这个字典变量是可以拓展的,也就是可以无限添加item,那么结合这两个block,就可以实现。首先在Blockly Dev...原创 2019-08-14 11:15:25 · 1725 阅读 · 0 评论 -
怎样用自己电脑做服务器供他人访问自己的网站
暂时由于项目需要,需要有一个域名,用于团队内部测试,但是我又不想购买空间,怎么办?下面我来介绍一下我的解决方法:1、注册域名。正好这时候腾讯云搞了个活动,我在上面花了一块钱买了个.xyz域名,挺便宜的。2、有了域名之后下一步,是进入控制台,开启服务状态3、点击“解析”,跳转到下一个页面然后主要添加A记录,填写主机记录为“www”,记录值为你的服务器IP(本地主机IP外网地址),不会.........原创 2018-12-19 17:59:40 · 13017 阅读 · 4 评论 -
Java继承中的构造器问题
继承结构中,父类的构造器只能够被调用,而不能被子类继承。 调用父类的构造方法要在子类的构造器中使用super()。“对于子类,其构造器的正确初始化是非常重要的,而且当且仅当只有一个方法可以保证这点:在构造器中调用父类构造器来完成初始化,而父类构造器具有执行父类初始化所需要的所有知识和能力。”正常情况下,子类会默认自动调用父类的构造器(无参的,不管是自己手动写的的还是系统自动新建的),但是如...原创 2018-06-11 19:46:28 · 4486 阅读 · 1 评论 -
Java正则表达式
关于正则表达式在不同的语言中的形式略有差别,今天做题的时候发现正则表达式的语法不是很清楚,就来总结一下Java的正则表达式。什么是正则表达式?正则表达式可以用来匹配字符串,编辑,处理文本。可以规定一种字符串文本书写的固定模式。 比如:一句普通的字符串:”Are you OK?”就是一个正则表达式。^:表示以什么开始$:定义什么时候结束*:零次或者多次匹配前面的字符或者字符串...原创 2018-06-07 11:12:50 · 300 阅读 · 0 评论 -
Java BufferedReader、FileReader、FileWriter、PrintWriter
FileReaderFileReader 类从 InputStreamReader 类继承而来。该类按字符读取流中数据。可以通过以下几种构造方法创建需要的对象: FileReader(File file); FileReader(FileDescriptor fd); FileReader(String fileName); 看一段简单的代码import java.io.*;p...原创 2018-06-07 16:05:36 · 874 阅读 · 0 评论 -
53.最大子序和Maximum Subarray(LeetCode)
问题给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。解答动态规划方法,时间复杂度为 O(n)...原创 2018-06-08 00:10:44 · 271 阅读 · 0 评论 -
五分钟搞定JDBC数据库连接
JDBC(Java Database Connectivity)API allows Java programs to connect to databases, Imports for the JDBC classes and interfaces from package java.sql.Database access is the same for all database ven...原创 2018-06-08 18:38:11 · 323 阅读 · 0 评论 -
Java类的初始化与垃圾清理
Member initializationInside class(类), primitives(原始类型) are given default values if you don’t specify values, If you haven’t given “i” an initial value and you try to use it anyway, you’ll get a runt...原创 2018-06-09 10:07:14 · 504 阅读 · 0 评论 -
Java I/O文件输入输出详解
java.io.File and ScannerFile represent either the name of a particular file or the names of a set of files in a directory. Use Scanner class for reading text files. Read From A Disk File:1 Fi...原创 2018-06-09 11:22:56 · 370 阅读 · 0 评论 -
数据库连接池技术
回想一下,之前我们写的程序访问数据库的时候好像都是按照新建数据库连接,用完后关闭连接的方式进行的。这样的做法对于我们这种数据库访问不是很频繁的系统而言貌似不会带来明显的性能上的影响。但是对于一个数据库访问频繁的系统而言,情况就不同了。由于建立数据库连接会需要消耗一定的系统资源,如果频繁的建立和关闭连接,会极大降低系统的性能,造成性能瓶颈。我们能否事先建立一定数量的数据库连接,访问数据库...原创 2018-07-07 11:08:46 · 825 阅读 · 0 评论 -
解决tomcat输入localhost:8080报404错误
一阵子没有玩 tomcat,今天想运行一下我之前的项目。首先在 Apache Tomcat/bin 下找到 tomcat9w.exe 点击 start 之后发现进度条走到一半就停了,也不报错;使用 start.bat 倒是启动很快,无报错信息。怎么回事呢?于是我去 控制台 cmd ,打开服务 services.msc,找到 ApacheTomcat 服务点击启动,这个时候报错了:“wind......原创 2018-09-23 17:56:47 · 85459 阅读 · 12 评论 -
【解决】th:onclick给js传string类型的值的问题
最近一个月在做Springboot的项目,在编码过程中遇到了一个问题:在使用Thymeleaf模板时使用了th:onclick属性来调用JavaScript方法,其中涉及到传入后台发送的数据的功能,以便shu数据回显。然而我遇到了一个问题:当传入参数为数字的时候,可以正常传值,但是涉及到字符串的时候总是运行不通。去百度查出了好多网友的博客,解决问题也都是五花八门,都不能解决我的问题。需......原创 2018-10-19 19:58:35 · 12298 阅读 · 16 评论 -
最长公共前缀(LeetCode)
题目要求:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。原创 2018-10-28 21:09:46 · 805 阅读 · 0 评论 -
关于Java重载和多态
介绍几段简短但精辟的定义,没事多来看一下:多态指向子类的父类引用由于向上转型了,它只能访问父类中拥有的方法和属性,而对于子类中存在而父类中不存在的方法,该引用是不能使用的,尽管是重载该方法。若子类重写了父类中的某些方法,在调用该些方法的时候,必定是使用子类中定义的这些方法(动态连接、动态调用)。当子类重写父类的方法被调用时,只有对象继承链中的最末端的方法才会被调用,即最初被引用的哪个子...原创 2018-06-11 18:18:44 · 1355 阅读 · 2 评论