Stella981 Stella981
3年前
Eth
1\.Ethash 算法1.1EthashEthash是以太坊1.0中使用的PoW(工作量证明)算法,它是Hashimoto算法结合Dagger之后产生的一个变种。它的特点是计算的效率基本与CPU无关,却和内存大小和内存带宽正相关。因此通过共享内存的方式大规模部署的矿机芯片并不能在挖矿效率上有线性或者超线性的增长。该算法的一般
Wesley13 Wesley13
3年前
Java并发(基础知识)—— Executor框架及线程池
在Java并发(基础知识)——创建、运行以及停止一个线程(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.cnblogs.com%2Ftimlearn%2Fp%2F4007982.html)中讲解了两种创建线程的方式:直接继承Thread类以及实现Runnable接口并赋给Th
Wesley13 Wesley13
3年前
Java多线程之线程池配置合理线程数
目录代码查看公司服务器或阿里云是几核的合理线程数配置之CPU密集型合理线程数配置之IO密集型1\.代码查看公司服务器或阿里云是几核的要合理配置线程数首先要知道公司服务器或阿里云是几核的代码查看服务器核数:System.out.println(Runtime.getRuntime().availableProc
Wesley13 Wesley13
3年前
Java 异步NIO写文件,无队列线程池方案
java.nio.channels.AsynchronousChannel提供了异步写文件方法,具体代码如下:!(https://oscimg.oschina.net/oscnet/3d3b7ce6a9fd5c1fea806341e4f41e5b9c3.jpg)!(https://oscimg.oschina.net/oscnet/fc9f
Wesley13 Wesley13
3年前
Java人太南了!又要搞Spring,又要精通JVM垃圾回收和调优…
对象已死?啊,难受……最近深陷排查各种内存溢出、内存泄漏的问题,不得不对垃圾回收器下手了,因为当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。不少Java技术方向的兄弟,感觉也挺难的,常聊到各种高并发业务场景下,JVM涉及的性能问题、内存管理、垃圾回收器怎么弄?
Wesley13 Wesley13
3年前
JDK中线程池满后再放入队列
  JDK中ThreadPoolExecutor有coreSize、maxSize,只有当线程数到coreSize且队列满后才会增加线程数到maxSize.  想要达到的效果是线程数到maxSize后再放入队列。方案一  覆写ThreadPoolExecutor的execute()  _List1_pub
Wesley13 Wesley13
3年前
Java面试笔记整理4
一.Java内存溢出的产生原因和解决办法?java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。导致OutOfMemoryError异常的常见原因有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.
Wesley13 Wesley13
3年前
Java程序如何不产生垃圾
应用程序如何可以不产生垃圾看上去很难想象,而且这个话题已经复杂到超出本文讨论的范畴,但是如果考虑以下几个方面可能会容易理解:JVM将内存分成两个部分来管理:堆和栈。这就是为什么当缺少内存时会有两个不同的错误(OutOfMemoryError和StackOverflowError)。栈内存只能被当前线程和当前执行的方法访问,因此,当线程离开当前执行
深入浅出线程池 | 京东云技术团队
一、线程1、什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。2、如何创建线程2.1、JAVA中
高性能且低成本的 Goroutine 池库-Ants
本文分享自天翼云开发者社区《》,作者:李佳在Go语言中,虽然原生支持并发的Goroutine提供了强大的并发能力,但在高并发场景下,无限制地创建Goroutine会导致系统资源耗尽。因此,合理管理Goroutine的生命周期和数量变得尤为重要。Ants是一