#百面机器学习

并发包学习之-atomic包

一,模拟并发代码:线程不安全的代码//并发模拟代码publicclassCountExample{//请求总数publicstaticintclientTotal=5000;//同时并发执行的线程数publicstaticintthreadTotal=200;//全局变量publicstaticintcount=0;p...
代码星球 代码星球·2021-01-30

并发编程与高并发学习笔记六

J.U.C一,AbstractQueuedSynchronizer-AQS1.设计使用Node实现FIFO队列,可以用于构建锁或者其他同步装置的基础框架利用一个int类型表示状态在AQS类中有一个叫waitStatus的成员变量,基于AQS有一个同步组件叫ReentrantLock,在这个组件中status表示获取锁的...

并发编程与高并发学习笔记五

线程池一,newThread弊端每次newThread新建对象,性能差线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多的系统资源导致死机或OMM缺少更多功能,如更多执行,定期执行,线程中断二,线程池的好处重用存在的线程,减少对象的创建和消亡的开销,新能好可以有效的控制最大并发线程数,提高系统资源利用率,...

并发编程与高并发学习笔记四

线程封闭一,什么是线程封闭把对象封装到一个线程里,只有一个线程能看到。这样就算这个对象不是线程安全的,也不会出现线程安全问题一,实现线程封闭的方法Ad-hoc线程封闭:程序控制实现,最糟糕,忽略堆栈封闭:局部变量,无并发问题多个线程访问一个方法时,方法中的局部变量会被拷贝一份到线程的栈中,所以局部变量是不会被多个线程访...

并发编程与高并发学习笔记三

不可变对象一,不可变对象的需要满足的条件1.对象创建以后其状态就不能修改2.对象的所有域都是final类型3.对象是正确创建的(对象创建期间,this引用没有逸出)二,可以采用的方式:1.将类设置为final,该类不能被继承2.将所有的成员声明为私有的,这样就不运行直接访问这些成员3.对变量不提供setter方法,将所...

并发编程与高并发学习笔记二

发布安全对象一,发布对象1.发布对象:是一个对象能够被当前范围之外的代码所使用2.对象逸出:一种错误的发布。当一个对象还没有构造完成时,就使他被其他线程所见//发布对象,这是一个不安全的对象publicclassUnsafePublish{privateString[]states={"a","b","c"};publ...

并发编程与高并发学习笔记一

一,线程安全性1.定义:当多个线程访问某个类时,不管运行时环境采用任何调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么称这个类是线程安全的2.线程安全性体现在三个方面:原子性:提供了互斥访问,同一时刻只能有一个线程来对他操作可见性:一个线程对主内存的修改可...

异常系列一:基础学习笔记

一.程序的异常:Throwable严重问题:Error,我们不处理。这种问题一般很严重,不如内存溢出问题:Exception编译问题:不是RuntimeException异常。必须进行处理,如果不处理编译不能通过运行问题:RuntimeException,这种问题也不处理。是因为代码不够严谨。需要修改代码二.如果程序出...

nginx学习笔记二

一,nginx架构在Linux系统中以daemon(守护进程)的方式在后台运行,后台进程包含一个master进程和多个worker进程(多进程的工作方式)master进程|信号||---------------------------------------------------------------|||work...
代码星球 代码星球·2021-01-30

Nginx学习笔记

一,什么是Nginx?Nginx是一款轻量级的Web服务器,反向代理服务器,电子邮件代理服务器正向代理:代理的是用户,代理为客户端做事反向代理:代理的是服务器,代理为服务器做事二,什么是反向代理?反向代理方式:用代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返...
代码星球 代码星球·2021-01-30

我的集合学习笔记--LinkedList

一,Node节点:/***存储元素基本单位*/publicclassNode{Objectdata;Nodepre;Nodenext;publicNode(Nodepre,Objectdata,Nodenext){this.data=data;this.pre=pre;this.next=next;}} 二....

我的集合学习笔记--ArrayList

一,ArrayList实现自己的ArrayList:主要是添加方法,理解自动扩容机制代码+注释packagecom.amazing.jdk.learn2List.list_08_13;/***1.实现ArrayList接口的增删改查方法*2.理解自动扩容机制*参考:http://blog.csdn.net/u01124...

阿里巴巴Java开发手册正确学习姿势是怎样的?刷新代码规范认知

很多人都知道,阿里巴巴在2017发布了《阿里巴巴Java开发手册》,前后推出了很多个版本,并在后续推出了与之配套的IDEA插件和书籍。相信很多Java开发都或多或少看过这份手册,这份手册有7个章节,覆盖了编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构以及设计规约等方面。这份规约可以说是覆盖了Java...

开源的13个Spring Boot 优秀学习项目!超53K星,一网打尽!

SpringBoot算是目前Java领域最火的技术栈了,也是Java开发人员不得不掌握的技术,今天给大家整理了13个优质SpringBoot开源项目给大家参考,希望能够帮助到正在学习SpringBoot的小伙伴!小伙伴简历中不知道写什么项目的或者项目没有亮点的,我只能帮你们到这了!下边的项目排名不分先后!一、malls...

Hive学习之路 (二)Hive安装

目录Hive的下载Hive的安装1、本人使用MySQL做为Hive的元数据库,所以先安装MySQL。2、上传Hive安装包3、解压安装包4、修改配置文件5、一定要记得加入MySQL驱动包(mysql-connector-java-5.1.40-bin.jar)该jar包放置在hive的根路径下的lib目录6、安装完成,...
代码星球 代码星球·2021-01-30
首页上一页...5354555657...下一页尾页