2019年4-5月心得,Github同步

2019年4月

做一个善良的人,为群众谋幸福————高尔基

2019年4月1日

  1. 产生死锁的四个必要条件:
    互斥条件:一个资源每次只能被一个进程使用。
    请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
    不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
    循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
  2. 数据库连接池连接数 = ((核心数 * 2) + 有效磁盘数)
  3. 线程池
    如果是IO密集型应用,则线程池大小设置为2N+1;
    如果是CPU密集型应用,则线程池大小设置为N+1;
    N代表CPU的核数。
    tasks :每秒的任务数,假设为500~1000
    taskcost:每个任务花费时间,假设为0.1s
    responsetime:系统允许容忍的最大响应时间,假设为1s

2019年4月8日

  1. 阿里约了下午4点面试
  2. 还是要咋是扎实基础呀,有一个问题没回答好。
  3. 申请参加4月27日ACM省赛
  4. Java开发数据库大作业的内容

2019年4月9日

  1. 公平锁/非公平锁(多线程执行顺序的维度)
    公平锁:加锁前先查看是否有排队等待的线程,有的话优先处理排在前面的线程,先来先得。
    非公平所:线程加锁时直接尝试获取锁,获取不到就自动到队尾等待。

2019年4月13日

  1. 由于volatile保证了可见性,那么在每个线程中对inc自增完之后,在其他线程中都能看到修改后的值,所以有10个线程分别进行了1000次操作,那么最终inc的值应该是1000*10=10000。这里面就有一个误区了,volatile关键字能保证可见性没有错,但是上面的程序错在没能保证原子性。可见性只能保证每次读取的是最新的值,但是volatile没办法保证对变量的操作的原子性。

2019年4月14日

  1. linux docker下载器
    docker run --name ccaa -d -p 6800:6800 -p 6080:6080 moerats/ccaa:latest
    大体信息如次
    AriaNg界面:http://ip:6080
    拜访界面用户名暗码别离为:admin、moerats
    Aria2密匙:moerats
    Filebrowser拜访地点:http://ip:6080/admin

2019年4月16日

  1. 数据库隔离级别问题
    RAED UNCOMMITED:使用查询语句不会加锁,可能会读到未提交的行(Dirty Read);
    READ COMMITED:只对记录加记录锁,而不会在记录之间加间隙锁,所以允许新的记录插入到被锁定记录的附近,所以再多次使用查询语句时,可能得到不同的结果(Non-Repeatable Read);
    REPEATABLE READ:多次读取同一范围的数据会返回第一次查询的快照,不会返回不同的数据行,但是可能发生幻读(Phantom Read);
    SERIALIZABLE:InnoDB 隐式地将全部的查询语句加上共享锁,解决了幻读的问题;

2019年4月19日

  1. 正式收到阿里offer

2019年4月20日

  1. 已收到正式邮件offer。
    我除了微软Azure之外没有别的面试了,也不再投递新的,大概率是来阿里的。原因:
    a. 是技术栈 阿里Java,腾讯C++为主的全栈,微软是C++和Python。
    b. 地域原因,阿里在杭州,腾讯深圳,微软上海,个人对杭州比较熟悉,也有家人在杭州。
    c. 挑战方面的话,WXG支付业务,阿里中台,微软的容器开发算不同方面,但是都算很感兴趣的内容,值得学的内容非常多。
  2. 基本信息和相关疑问。
    a. 入职时间: 大约6月25-28日,如果需要调整可以讨论下。
    b. 入职提前一段时间联系谁?
    c. 实习期间主要任务,转正之后主要工作内容。工作时间?
    d. 问了HR,说5年以上,3-5年,3年以下接近1:1:1,会有导师带吗。
    e. Linux使用率。
  3. 技术栈相关。
    a. 目前技术栈比较平均,C++/Java/Python/Golang。
    b. 看过的书,学校里的课,机器学习基础+花书+西瓜书,leetcode,JVM虚拟机,effective C++。
    c. 目前在狂补的,Java设计模式,Spring那一套,并发编程和相关书。
    d. 需要优先了解的知识,阿里开源的十几个中间件。
    d. 想问需要补那些知识点。相关文档和书本推荐。

2019年4月21日

  1. Dao和Service层都是可以实现模板的。

2019年4月23日

  1. JSP分页的实现
    ‘’’
    int l = 1, r = totalPage;

if (totalPage > 5) {
if (pageCode <= 3) {
l = 1; r = 5;
} else if (pageCode >= r-2) {
l = totalPage - 4; r = totalPage;
} else {
l = pageCode - 2; r = pageCode + 2;
}
}

for (int i=l; i<=r; i++) {
out.print("<li " + ((pageCode == i) ? “class=“active”” : “”) + “>”);
out.print("<a href="" + nowPath + “?” + “pageCode=” + i + “”>" + i + “”);
out.print("");
}
‘’’

2019年4月27日

  1. ACM省赛,除0的时候一定要想清楚
  2. VPS服务器没有开防火墙

2019年4月29日

  1. 高频使用容器命令

apt-get update

wget -qO- https://get.docker.com/ | sh

wget -N --no-check-certificate “https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh” && chmod +x tcp.sh && ./tcp.sh

docker pull uifd/ui-for-docker

docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker

mkdir -p ./mysql/data ./mysql/logs ./mysql/conf

cd mysql

docker pull mysql:5.6

docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
docker exec -it mysql /bin/bash

docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=LIzhimin123’ -p 1433:1433 --name sql1 -d mcr.microsoft.com/mssql/server:2017-latest

CREATE DATABASE zstu DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE DATABASE userTest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

attrib -s -a -h D:\mysql
‘’’

http://bhs.proof.ovh.net/files/10Gb.dat

100g http://repos.mia.lax-noc.com/speedtests/100gb.bin
10t http://repos.mia.lax-noc.com/speedtests/10tb.bin

2019年4月30日

  1. 时间戳灵活多变,应该交由前端处理

2019年5月4日

  1. 使用Windows的童鞋要特别注意:
    千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可。
  2. C++写一个模拟线程任务调度的工具

2019年5月6日

  1. https://github.com/wenfengshi/ddos-dos-tools

2019年5月7日

  1. maven版本不对会导致eclipse检测不到setting.xml文件

2019年5月10日

java环境报错
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

  1. 打开系统变量Path,发现第一个路径是:C:\ProgramData\Oracle\Java\javapath;
    原来运行时,系统自动寻找这个路径下面的javapath,当然是会出错了;
  2. 解决方法:将我们设置的JDK、JRE地址,放在第一个路径的位置,就成功解决了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章