首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏狗哥的 Java 世界

    Java 并发(3)AbstractQueuedSynchronizer 源码分析之共享模式

    通过上一篇《Java 并发(2)AbstractQueuedSynchronizer 源码分析之独占模式》的分析,我们知道了独占模式获取锁有三种方式,分别是不响应线程中断获取,响应线程中断获取,设置超时时间获取 当然这些在《Java 并发(1)AbstractQueuedSynchronizer 源码分析之概要分析》这篇文章里都有详细的介绍,读者可以先去查阅。 本篇对于共享模式的分析也是分为三种获取锁的方式和一种释放锁的方式。 3、设置超时时间的获取 //以限定超时时间获取锁(共享模式) public final boolean tryAcquireSharedNanos(int arg, long nanosTimeout) 注:以上全部分析基于 JDK1.7,不同版本间会有差异,读者需要注意。 ---- -END- ?

    84230发布于 2020-03-21
  • 来自专栏CSDNToQQCode

    3种Java工厂模式深入理解分析

    Java工厂模式的概念 工厂模式适用于创建新对象最简单的办法是使用new关键字和具体类。工厂模式主要是为创建对象提供了接口。 Java工厂模式的分类 工厂模式按照《Java与模式》中的提法分为三类,也就是题目所说的3种Java工厂模式,它们分别是简单工厂模式(Simple Factory)、工厂方法模式(Factory Method JAVA简单工厂模式(Simple Factory) 简单工厂具有提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。 JAVA工厂方法模式(Factory Method) 工厂方法使用一个抽象工厂角色作为核心来代替在简单工厂模式中使用具体类作为核心。使用工厂方法模式足以应付工作中可能遇到的大部分业务需求。 JAVA抽象工厂模式(Abstract Factory) 抽象工厂模式和工厂方法模式的区别就在于需要创建对象的复杂程度上。而且前文也提到过看,抽象工厂模式是工厂模式的三个类别里最为抽象、最具一般性的。

    36010编辑于 2022-11-28
  • 来自专栏红队蓝军

    Java安全之Commons Collections1-3分析

    CC1分析 POC: import org.apache.commons.collections.Transformer; import org.apache.commons.collections.functors.ChainedTransformer ; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Proxy; import java.util.HashMap png] [4.png] [5.png] [6.png] [7.png] CC2分析 import javassist.ClassPool; import javassist.CtClass; import png] [4.png] [5.png] CC3分析 import com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter; import javassist.CannotCompileException .*; import java.lang.reflect.*; import java.util.HashMap; import java.util.Map; public class cc3 {

    61330编辑于 2022-03-11
  • 来自专栏红队蓝军

    Java安全之Commons Collections1-3分析

    CC1分析 POC: import org.apache.commons.collections.Transformer; import org.apache.commons.collections.functors.ChainedTransformer ; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Proxy; import java.util.HashMap ObjectInputStream(new FileInputStream("test.out")); inputStream.readObject(); } } CC2分析 barr.toByteArray())); Object object = ois.readObject(); oos.close(); } } CC3分析 .*; import java.lang.reflect.*; import java.util.HashMap; import java.util.Map; public class cc3 {

    42710编辑于 2022-05-17
  • 来自专栏python3

    java 3

    0b 0B开头 八进制--以0 开头 十进制 十六进制---0x 0X  注意f 15 的使用,取出后4位二进制 进制间的转化 1.十进制--r进制,除R取余,倒着读 2.r进制--十进制,乘以权数 3.

    53120发布于 2020-01-17
  • 来自专栏老齐教室

    回归分析(3)

    注:本文是回归分析专题的第三部分,此专题是对即将于2021年5月出版的《机器学习数学基础》的补充和提升资料。 并且,只要插入的公式多点,在微信的编辑器中就不能保存。所以,发布的文章中,就很少有公式了。 在时间序列分析中通常很重要 Cond. No 多重共线性检验(如果与多个参数拟合,则参数彼此相关) 如此,即可实现统计中的线性回归模型构建。

    1.9K20发布于 2021-03-11
  • 来自专栏ros--转载

    java3

    我回想起学习Java时的学习路线,直接操作数据库是其中一项重要内容,无论使用哪种编程语言,与数据库的交互都是不可避免的。然而,直接操作MySQL数据库似乎缺乏趣味性,毕竟每天都在写SQL语句。 就好比刚学习Java的时候,要看别人的业务逻辑一样,即使有大量注释,也会感到吃力。 好的,废话不多说,我们直接进入正题吧。如果你还有未领取的,可以免费领取一下。

    29010编辑于 2024-02-23
  • Java笔记(3)

    三种通用的遍历方式: 迭代器:在遍历的过程中需要删除元素,请使用迭代器。 增强for、Lambda: 仅仅想遍历,那么使用增强for或Lambda表达式

    35810编辑于 2024-05-31
  • 来自专栏怀英的自我修炼

    Java漫谈3

    上次我们说道Java中的Hello World(以下简称HW)是什么样子的,还写了一段HW的输出程序。不知道你是否会有疑问,难道在Java的环境中只要输入这一句话就能输出HW么。 IDE也就是专门用来编译Java代码的一款软件中,你可以把它想象成Java程序的制作车间。 目前开发Java程序还是IDE用的比较多,所以在漫谈中默认的就是在IDE中开发的情况。 那这个所谓的Java车间在运行HW那句代码之前都有哪些动作呢。 如果你已经在这一行浸营已久,我的回答是,Java就是这么规定的,到目前为止并没有看到说人话的解释。如果非要解释的话,可能就是在Java中万物皆对象,类是对象的一种形式。 这篇文章主要分享了我对Java里面类的实例化的理解,在段誉比武的例子中又稍微谈到了一点儿抽象的的概念,希望这能对你理解Java类的实例话有些帮助,我们下回见。

    843110发布于 2018-03-12
  • 来自专栏Sun

    Java性能分析

    背景 最近参与开发的java项目存在比较严重的性能问题,前端访问经常需要很长时间才能获得回包,为了定位系统中的热点区域,需要对系统进行profile,然后针对性的优化。 3、能方便进行远程profile。基于以上几点,最终我选择了JProfiler,这个工具的功能非常强大,能满足profile的各种需求。 2. Instrumentation是通过Instrument技术在待分析的class中插入监控字节码,能做复杂的分析,如函数调用次数等。Sampling是定时采集每个线程栈中的调用链,对原应用影响最小。 3. JProfile使用 以下通过profile一个远程服务进行举例说明。 执行方式:java -agentpath:/home/jemuel/jprofiler11.0.1/bin/linux-x64/libjprofilerti.so=port=8849 App 3.3

    1.2K20发布于 2019-12-03
  • 来自专栏云深之无迹

    microPython源码分析.3

    我们接着main的文件,出现了新的函数 其定义和实现在这里 就是一种通用的组件 我们关注的py exe c的实现在这里 头文件所在 这个是引入的这份boot文件 还引入了一个例子 这地方是又是一个判断,如果宏传了 就执行一次线程的初始化 否则取消一切的工作,强行退出。初始化失败 如果说main文件是灵魂,那app_main更是一个灵魂中的灵魂 它将存储器初始化成功,然后开启线程 看不懂了,是我不行。看书去了 我再看C吧,我好菜啊。。。

    77820发布于 2021-04-14
  • 来自专栏FunTester

    Java 性能分析

    这时,Java 分析器便成为您的秘密武器,帮助解决这些性能挑战。 做出明智的决策:探索各种分析器的优势和不足,帮助你选择最符合项目需求的工具,做出科学决策。 Java 性能分析起源 尽管 Java 应用程序通常非常健壮,但性能下降仍然是一个常见的问题。 为了识别和解决这些瓶颈,Java 分析器应运而生,为开发者提供了强有力的工具和方法。 什么是 Java 性能分析 Java 分析是监控和分析 Java 应用程序运行时行为的关键过程。 利用 Java 分析器提供的洞察,我们可以优化代码结构,提高应用程序的性能和稳定性。 以下是一些常见的 Java 性能问题及其分析思路。 内存泄漏 内存泄漏是指 Java 程序在运行过程中,创建的对象未能被垃圾回收机制(GC)回收,导致内存占用不断增加。

    95000编辑于 2025-01-23
  • 来自专栏Java架构师必看

    spring源码分析3

    spring源码分析3 强烈推介IDEA2020.2破解激活,IntelliJ 下回分解注册beanDefition 原文链接:https://gper.club/articles/7e7e7f7ff3g5bgc4

    38450发布于 2021-05-14
  • 来自专栏FREE SOLO

    Java集合(3)---Java集合ArrayList

    与Java中的数组相比,它的容量能动态增长。 elementData数组的大小会根据ArrayList容量的增长而动态的增长,具体的增长方式,请参考源码分析中的ensureCapacity()函数。 (02) size 则是动态数组的实际大小。 // 若ArrayList的容量不足以容纳当前的全部元素,设置 新的容量=“(原始容量x3)/2 + 1” public void ensureCapacity(int minCapacity) modCount++; int oldCapacity = elementData.length; // 若当前容量不足以容纳当前的元素个数,设置 新的容量=“(原始容量x3) (02) 当ArrayList容量不足以容纳全部元素时,ArrayList会重新设置容量:新的容量=“(原始容量x3)/2 + 1”。

    1.5K00发布于 2019-04-18
  • 来自专栏后端Coder

    java进阶|java队列源码分析

    今天我要分享的是java里面比较常见的数据结构队列的源码分析,队列,先进先出模式,即FIFO的特点,日常生活中队列的特点也随处可见,超市购物排队,餐厅排队买饭等一系列都满足了队列的先进先出的特点,java 这里要分析的是下面这个队列,所以这里暂时下贴出一点这个类的继承结构,便于自己分析。 三,一般写到这里就会去分析数据结构的基本方法,添加方法add了,这里当然是顺势而为分析一下add方法了。 何况java作为一门高级语言呢,顺势而为成就了这个语言令人喜欢的特点吧。 四,队列既然有入队,想必就会想到队列出队的方法,即poll方法,接下来我们继续看下队列出队的方法时间吧。 十,到这里就结束了自己对队列的源码分析,其实你会发现我这里没有对队列的每一个方法进行分析,其实都差不多,这里起到一个开头作用就可以了,下面的每个分析方法都差不多。

    1.1K20发布于 2020-05-26
  • 来自专栏生信小驿站

    R语言meta分析(3)亚组分析

    R语言meta分析⑴meta包 R语言meta分析(2)单个率的Meta分析 R语言meta分析(3)亚组分析 原始研究中常常采用亚组分析的形式探索入组患者潜在的差异。 事实上,亚组分析也广泛应用于meta分析中,是meta分析中处理异质性的常用方法之一。亚组分析通常从临床异质性和方法学异质性的角度探讨异质性的来源,可以解决同质性研究才能合并效应量的问题。 Meta分析中的亚组分析每次只能按照一个变量进行亚组分析,并且对每个亚组都要进行效应量的合并;若要对两个以上的变量进行分析,则应该采用Meta回归的方法。 亚组分析由于其可能带来的危害,meta分析中的亚组分析应该充分考虑以下几个要素:第一,亚组分析一定是事先确定的,最好能在系统评价的研究方案中就体现出来;第二,分组因素的确定应该是从自身专业的角度去确定, 第三,过度的亚组分析可能存在数据挖掘的嫌疑,亚组分析的结果有时也并不可靠,因为亚组分析从某种程度上说破坏了原始研究的随机性,所以亚组分析的数量必须是有限的、事先确定的,一般来说分组因素应尽可能控制在3个以内

    5.4K20发布于 2019-05-14
  • 来自专栏Java架构师必看

    【3】Java面试-Servlet

    Java Servlet是服务器端技术,通过提供对动态响应和数据持久性的支持来扩展Web服务器的功能。 在实现通用服务时,我们可以扩展Java Servlet API随附的GenericServlet类。 可以收藏 无法收藏 幂等 非等幂的 比Post更有效和使用 它效率较低且使用过 Q3。什么是请求分派器? Servlet中会话管理的一些常见方式是: 用户认证 HTML隐藏字段 Cookies URL重写 会话管理API 本文由 Java架构师必看 作者:system_mush 发表,其版权均为 Java架构师必看 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。

    1.1K10发布于 2020-10-23
  • 来自专栏python3

    java 异常处理3

    自定义异常: 在运行时定义的异常用throw,如果是编译器异常则需要throws或try-catch,比如继承的是Exception

    45430发布于 2020-01-09
  • Java进阶-IO(3)

    Sytem 类封装了 Java 程序运行时的 3 个系统流。 System.in:标准输入流,默认设备是键盘。 System.out:标准输出流,默认设备是控制台。 ; // 导包 import java.io.FileOutputStream; import java.io.OutputStream; import java.nio.charset.StandardCharsets hello javase javaee 集合到文件改进版(自主练习) 步骤: 1)创建一个Student学生类(完整javabean) 2)创建ArrayList集合,泛型约束为Student类型 3) 遍历集合(增强for循环),得到每一个学生对象 6)把学生对象的数据拼接成指定的字符串(使用StringBuilder,并调用其append()方法实现拼接) 7)调用字符缓冲输出流对象的方法写数据(3步 要求:文件中每一行数据是一个集合元素(readLine方法) import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException

    79621编辑于 2024-03-04
  • 来自专栏兜兜毛毛

    Java集合---LinkedList(3)

    LinkedList有3个主要属性size、first、last。 添加 ? 添加与删除的操作逻辑基本相同,不再赘述。

    42520发布于 2019-10-23
领券