摘要:
毕业第四天,入职前一天,趁着这个空闲时间记录一下大学历程。 1.学校背景 二本文科院校,工科巨弱,无实验室,无导师带做项目等,大一大二和大三大四不同校区,也没啥师兄师姐带着学习。 2.大一 参加了学院的学生会,参与组织策划一些小活动。全无编程功底,考试低分飘过。这一年主要是体验了初入大学的社团生活。 阅读全文
摘要:
一、Java基础语法 1.参数传递 void change(String s, Integer x, Double f, ArrayList<Integer> list, Node node, char[] a); 前三个是传值调用,方法里修改形参不会对原来的值造成影响; 后三个是引用调用,方法里修 阅读全文
摘要:
学习《Java并发编程之美》第4章后,简要记录一下几个原子操作类的语法和原理。 各种原子操作类内部通过Unsafe使用CAS实现,保证多线程变量的安全性,相比使用锁实现原子性操作,在性能上有很大提高。常用类有AtomicLong、AtomicInteger、AtomicBoolean等 一、Atom 阅读全文
摘要:
使用整数的封装类型Byte、Short、Integer、Long定义变量时,经常会遇到Integer i1=1;和Integer i2=new Integer(1);判断i1==i2的情况,但是对于Short s1=1;s1和i1比较如何呢? 理论上占用的字节都不一样,应该不是同一个常量池,但是还有 阅读全文
摘要:
四个题目难度分别为简单、中等、中等、困难;解法不一定最优,能AC,欢迎交流。 5742.将句子排序 题意:有一个类似“is2 sentence4 This1 a3”,长度不超过200的字符串,单词后面跟着数字,单词用空格隔开,要求按数字升序重新拼接字符串并去掉数字,变成“This is a sent 阅读全文
摘要:
一、手写二分的几种边界情况 1.普通查找值,找到即返回,不考虑位置 //1.普通二分:查找数存不存在或者随便找一个 public static int binarySearchOne(int target){ int l=0,r=n-1,m; while(l<=r){ m=(l+r)/2; if( 阅读全文
摘要:
昨天有个朋友面试遇上了这个算法,查阅了一下,颇感兴趣,记录一下。 1.概念 摩尔投票指的是在众多投票中选出得票最多的候选人,众数。 常见的例子就是分布式系统,例如redis主从复制中,主服务器客观下线,监视主服务器的哨兵Sentinel需要选出一个领头羊对下线服务器进行故障转移,得票过半才能选上。 阅读全文
摘要:
一、Java-TreeMap 1.数据结构 底层数据结构是裸的红黑树,保证元素有序,没有比较器Comparator的情况按照key的自然排序,可自定义比较器。线程不安全。 可以存null,但是key不可以为null。 2.性能分析:空间换时间 增删改查的时间复杂度都是O(log n),HashMap 阅读全文
摘要:
socket编程是以IO为理论基础的,理论学得差不多也很难实现编程,毕竟里面的类和方法平时都不怎么用,难得尝试编了个程,记录一下。 1.几个概念 Channel:管道,连通客户端和服务端传输数据; Buffer:缓冲区,通过管道传输数据必须经过的地方; Selector:选择器,单线程可以通过选择器 阅读全文
摘要:
字节流通常以stream结尾,例如InputStream和OutputStream。记几个语法。 1.误区 以前总是以为Input就是输入,写入文件; Output就是输出,读出文件。这是错误的理解,以至于看不懂很多例子。 这里的入和出是以内存为角度的,程序运行在内存中,创建的数组就可以看作内存。 阅读全文