初入Java坑,然后又入产品坑】的更多相关文章

之前工作了一年,从事Java相关工作,不小心深得领导器重,跑去演讲.写文档.与客户沟通等,最后应公司需要,转往产品坑,坑坑相连,何时逃坑. 最近一直在学习产品经理必备工具Axure,发现这真是一个神奇的东西,画网页.原型.业务逻辑等十分方便快捷,如果有一个好的产品经理,利用Axure画出一个完美的原型,那么对于开发人员来说,会达到事半功倍的感觉. 而后,又开始写各种方案,准备PPT,以及开始方案演讲等之类的内容,已经近1个来月没有与心爱的代码打交道了,自从开始步入产品坑,突然发现好怀念Java坑…
初入Java后端之Servlet 后端 Servlet  什么是Servlet? Servlet实际上是一个按照Servlet规范写的Java类.是运行在Web服务端的Java应用程序.与Java程序的区别是,它里面封装了对Http请求的处理. 功能 Servlet主要是对Http请求进行相应的处理,生成动态的Web内容. 实现 原理图 至于Servlet的细节原理和优点,先暂时不说,直接上代码 总的来说,后端主要是处理前段发送过来的请求,那么最常见的请求便是post请求和get请求. Serv…
本文由码农网 – 吴极心原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 一. 概述 本文首先介绍Lock接口.ReentrantLock的类层次结构以及锁功能模板类AbstractQueuedSynchronizer的简单原理,然后通过分析ReentrantLock的lock方法和unlock方法,来解释ReentrantLock的内部原理,最后做一个总结.本文不涉及ReentrantLock中的条件变量. 1.1.Lock接口 Lock接口,是对控制并发的工具的抽象.它比使用sy…
一.System.in System.in提供的read方法每次只能讀取一個字節的數據,不實用 二.BufferedReader BufferedReader類位於java.io包中,使用要加上 import java.io.BufferedReader. 使用BufferedReader來取得輸入的方法是固定的,每次使用前先如法炮製就可以 BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第二十九章:可重入锁与不可重入锁详解 下一章 "全栈2019"Java多线程第三十章:尝试获取锁tryLock()方法详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复…
第一期 「一入 Java 深似海 」系列课程 - 第一期 第一节:Java 语言基础…
基础知识 Java多线程的wait()方法和notify()方法 这两个方法是成对出现和使用的,要执行这两个方法,有一个前提就是,当前线程必须获其对象的monitor(俗称“锁”),否则会抛出IllegalMonitorStateException异常,所以这两个方法必须在同步块代码里面调用. wait():阻塞当前线程 notify():唤起被wait()阻塞的线程 不可重入锁 所谓不可重入锁,即若当前线程执行某个方法已经获取了该锁,那么在方法中尝试再次获取锁时,就会获取不到被阻塞.我们尝试设…
可重入锁,指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,而其他的线程是不可以的. synchronized 和   ReentrantLock 都是可重入锁. 可重入锁的意义之一在于防止死锁. 实现原理实现是通过为每个锁关联一个请求计数器和一个占有它的线程.当计数为0时,认为锁是未被占有的:线程请求一个未被占有的锁时,JVM将记录锁的占有者,并且将请求计数器置为1 . 如果同一个线程再次请求这个锁,计数器将递增: 每次占用线程退出同步块,计数器值将递减.直到计数…
JDK提供的大多数内置锁都是可重入的,也就是 说,如果某个线程试图获取一个已经由它自己持有的锁时,那么这个请求会立 刻成功,并且会将这个锁的计数值加1,而当线程退出同步代码块时,计数器 将会递减,当计数值等于0时,锁释放.如果没有可重入锁的支持,在第二次 企图获得锁时将会进入死锁状态. 现实中,我们一般不会去手动实现锁,而是直接使用JDK或其他框架提供的锁,手动实现主要为了理解. 不可重入锁: // 不可重入锁 class Lock{ // 是否占用 private boolean isLock…
公平和非公平锁 公平锁:是指多个线程按照申请的顺序来获取值.在并发环境中,每一个线程在获取锁时会先查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个就占有锁,否者就会加入到等待队列中,以后会按照 FIFO 的规则获取锁 非公平锁:是指多个线程获取值的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁.在并发环境中一上来就尝试占有锁,如果失败再进行排队,可能会造成优先级翻转或者饥饿现象 // 常用的ReentrantLock无参构造默认是非公平锁 /** * Cr…