
Java基础
文章平均质量分 89
Icedzzz
这个作者很懒,什么都没留下…
展开
-
Java/计算机网络/操作系统面试题总结(未完待续)
finalfinal 在 Java 中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作 final,你将不能改变这个引用了,编译器会检查代码,如果试图将变量再次初始化的话,编译器会报编译错误。**final变量:**凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为 final 的都叫作 final 变量。final 变量是只读的。final方法: Java 里用 final 修饰符去修饰一个方法的唯一正确用途就是表达:这个方法原本是一个虚方法,原创 2021-07-04 20:42:47 · 728 阅读 · 1 评论 -
Mysql:索引、事务
1.索引简介(1) 索引的作用提高查询速度确保数据的唯一性可以加速表和表之间的连接 , 实现表与表之间的参照完整性使用分组和排序子句进行数据检索时 , 可以显著减少分组和排序的时间全文检索字段进行搜索优化.(2) 索引分类Primary Key 主键索引 (某一个属性组能唯一标识一条记录,确保数据的唯一性,仅只有一个)Unique Key 唯一索引 (避免同一个表中某数据列中的值重复,唯一索引可以有多个)Index 常规索引 (快速定位特定数据,应加在查询找条件的字段,不宜添加太多)原创 2021-06-01 16:27:49 · 183 阅读 · 0 评论 -
海量数据处理方案——转载总结
转载于:公众号大数据梦想家海量日志数据,提取出某日访问百度次数最多的那个IP首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。搜索引擎会通过日志文件把用户每次检索使用的所转载 2021-05-16 14:15:11 · 618 阅读 · 1 评论 -
Java并发总结
1. 线程同步线程不安全问题: 线程安全问题是指当多个线程同时读写一个共享资源并且没有任何同步措施时,导致出现脏数据或者其他不可预见的结果的问题,这个时候需要用到线程同步。线程同步: 线程同步是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,前面的使用完毕,下一个线程再使用,线程同步执行条件:队列 + 锁synchronized 关键字synchronized 块是 Java 提供的一种原子性内置锁, Java 中的每个对象都可以把它当作一个同步锁来使用,这些 Java 内置原创 2021-03-23 23:09:57 · 373 阅读 · 0 评论 -
HashMap源码分析
0.Hash算法常见的Hash算法直接定址法:直接以关键字k或者k加上某个常数(k+c)作为哈希地址。数字分析法:提取关键字中取值比较均匀的数字作为哈希地址。除留余数法:用关键字k除以某个不大于哈希表长度m的数p,将所得余数作为哈希表地址。分段叠加法:按照哈希表地址位数将关键字分成位数相等的几部分,其中最后一部分可以比较短。然后将这几部分相加,舍弃最高进位后的结果就是该关键字的哈希地址。平方取中法:如果关键字各个部分分布都不均匀的话,可以先求出它的平方值,然后按照需求取中间的几位作为哈希地址。原创 2021-02-23 10:40:47 · 164 阅读 · 0 评论 -
Java排序算法
1.冒泡排序思路: 数组长度N,从i=1->N,依次比较两个相邻的元素,将值第i大的元素交换至右端。时间复杂度:O(n^2) 空间复杂度: O(1) public static void BubbleSort(int[] arr) { for (int i=0;i<arr.length-1;i++){ for (int j=0;j<arr.length-1-i;j++){ if (arr[j]>arr[原创 2021-02-22 17:49:19 · 142 阅读 · 0 评论 -
负载均衡算法
转载于:https://www.yuque.com/renyong-jmovm/kb/gwu187文章目录随机算法轮询算法一致性哈希算法最小活跃数算法分布式定义:分布式是后端架构的一种,比如单体架构和分布式架构,单体架构是指整个系统部署在一个进程里,而分布式是指整个系统是部署在不同的进程里的。负载均衡定义:由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。为什么要负载均衡?通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构转载 2021-02-07 22:49:41 · 248 阅读 · 0 评论 -
算法设计一:分而治之
分而治之解决问题思路:分解原问题 :原问题分解成多个子问题解决子问题 :递归地求解各个子问题合并问题解 :将结果合并为原问题解1. 归并排序思路归并排序:分解数组,递归求解,合并排序**分解原问题:**将数组A[1,n]分解成A[1,n/2]和A[n/2+1,n]子数组排序问题**解决子问题:**递归解决子问题得到有序的子数组合并问题解:最后合并成有序的数组实现 伪代码+Java伪代码:Java代码实现:时间复杂度为????(???? ??????????原创 2020-11-14 14:11:45 · 476 阅读 · 0 评论 -
java实现Haar小波变换
原理和具体推导参考以下两篇博客:https://blog.youkuaiyun.com/theonegis/article/details/86517377?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-7&spm=1001.2101.3001.4242https://blog.youkuaiyun.com/theonegis/article/details/86533571?utm_medium=distribute.pc_rele原创 2020-08-18 15:59:37 · 974 阅读 · 0 评论 -
java实现FFT IFFT fftshift ifftshift
FFT和fftshift:(complexArray只是一个定义实虚部的实体类)public class FFT { private complexArray result; public complexArray getResult() { return result; } int n, m; // Lookup tables. Only need to recompute when size of FFT changes. d原创 2020-08-12 09:42:45 · 658 阅读 · 0 评论 -
Mysql:初级总结
1.DOS窗口相关命令#连接数据库mysql -h '服务器主机地址' -u '用户名' -p'用户密码'#修改密码update user set password=password('xxxx') where user='root';#刷新数据库权限flush privileges;#显示数据库show databases;#打开某个数据库use dbname;#显示数据库mysql中所有的表show tables;#显示表mysql数据库中user表的列信息describe原创 2020-08-04 16:53:49 · 172 阅读 · 0 评论 -
JUC:堵塞队列BlockingQueue和同步SynchronousQueue
BlockingQueue堵塞队列的特点:写入:如果队列满了,就必须堵塞等待取出:如果队列是空的,必须堵塞等待生产堵塞队列的应用场景:线程池继承关系图:四组API:方式抛出异常有返回值,不抛出异常堵塞等待超时等待添加addofferputoffer(obj,int,TimeUnit)移除removepolltakepoll(int,TimeUnit)首个元素elementpeek抛出异常ArrayBlocking原创 2020-06-13 17:20:39 · 221 阅读 · 0 评论 -
JUC:三大辅助类
1. CountDownLatch允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。CountDownLatch用给定的计数初始化。 await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await 调用立即返回。 (理解成线程的减法计数器)CountDownLatch是一种通用的同步工具,可用于多种用途。 一个CountDownLatch为一个计数的CountDownLatch用作一个简单的开/关锁存器,或者门:所有线原创 2020-06-12 17:34:56 · 246 阅读 · 0 评论 -
java多线程:集合类
文章目录ListSetMapListArrayList是线程不安全的,没有使用线程同步,当多个线程修改ArrayList对象时,会报ConcurrentModificationException的异常测试:public class ListTest { public static void main(String[] args) { ArrayList<Str...原创 2020-04-30 17:23:26 · 364 阅读 · 0 评论 -
java函数式接口
1. Function函数式接口传入参数T,返回R例:返回字符串大写 Function<String, String> function = new Function<String, String>() { @Override public String apply(String s) { ...原创 2020-04-28 22:11:53 · 387 阅读 · 0 评论 -
Java多线程:初级
参考学习:狂神说java(B站)、Java并发编程之美1. 基础概念进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,当我们启动main函数时其实就启动一个JVM进程线程:线程则是进程的一个执行路径,是进程中的一个实体,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。 main函数所在的线程就是进程中主线程。注意点:操作系统在分配资源时是把资源分...原创 2020-04-21 19:15:50 · 191 阅读 · 0 评论