首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

可以没必要:开发者用M1挖矿,每天挣1块钱(代码开源)

极客们常常愿意尝试新的方法,比如——手头最新购入的 M1 电脑。...前些天,Zensors 软件工程师 Yifan Gu 成功在自己搭载 M1 芯片的 MacBook Air 上运行了挖矿程序,并且开源了代码。如果你手上也有一台 M1,不妨试试。...因为 ethminer 使用了相当不推荐的 asioAPI,就必须更新 boost 到最新版本,并修复 asio 相关的代码。...结果:日均到账人民币 1 元 所以 Yifan Gu 用 M1 挖矿的收益是多少?大概每天 1 元人民币。严格来说确实产生了收入,但也未免太微不足道了。...与独立显卡相比,M1 能提供的性能相当有限。如下图所示,即使是最弱的英伟达矿卡也有 26MH/s 的哈希率。 ? 目前来看,M1 对哈希率影响不大。

61410

java 诊断工具—— Arthas

某些前辈大佬写的代码小辈我实在不敢恭维!那逻辑!那sql! 接下来!...线上的代码为什么没有执行到这里?是由于代码没有 commit?还是搞错了分支? 线上遇到某个用户的数据处理有问题,线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况?...getstatic——查看类的静态属性 class/classloader相关 sc——查看JVM加载的类信息 sm——查看加载类的方法信息 dump——dump 加载类的 byte code 到特定目录...首先贴上我的测试代码: package com.oct.tail; import java.util.UUID; /** * @Author Ryan * @Date 2018/9/18 9:...在这里,我们针对方法 uuid() 返回值进行监测。监测结果如下: ? 一目了然!是不是爽的起飞 4. 退出arthas 如果只是退出当前的连接,可以用quit或者exit命令。

1.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

Github Trending榜首|阿里开源Java在线诊断工具Arthas

如果想看从Java进程启动开始到现在的cpu占比情况:可以使用show-busy-java-threads这个脚本 jvm 查看当前JVM信息 THREAD相关 COUNT: JVM当前活跃的线程数 DAEMON-COUNT...dump dump 加载类的 bytecode 到特定目录 jad 反编译指定加载类的源码 jad 命令将 JVM 中实际运行的 class 的 byte code 反编译成 java 代码,便于你理解业务逻辑...; 在 Arthas Console 上,反编译出来的源码是带语法高亮的,阅读更方便 当然,反编译出来的 java 代码可能会存在语法错误,但不影响你进行阅读理解 classloader 查看classloader...monitor 命令是一个非实时返回命令,实时返回命令是输入之后立即返回,而非实时返回的命令,则是不断的等待目标 Java 进程返回信息,直到用户输入 Ctrl+C 为止。...tt 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测 watch 虽然很方便和灵活,需要提前想清楚观察表达式的拼写,这对排查问题而言要求太高,因为很多时候我们并不清楚问题出自于何方

1K21

【Android 启动过程】Activity 启动源码分析 ( Activity -> AMS、主线程阶段 )

startActivityForResult(intent, -1); } } } 完整代码查看 frameworks/base/core/java/android/app/Activity.java...* 当此活动退出时,您的 * 将使用给定的请求代码调用onActivityResult()方法。...) * >=0,在初始的onCreate(Bundle savedInstanceState)/onResume()过程中 * 活动,则在显示结果之前不会显示窗口 * 从启动的活动返回...* * @param intent 要启动的意图. * @param requestCode 如果>=0,则当活动退出时,此代码将在onActivityResult()中返回....* * 此方法返回一个{@link ActivityResult}对象,您可以 * 在拦截应用程序调用时使用,以避免执行启动 * 活动操作,返回应用程序运行的结果

2.5K30

arthas常用命令

但是,某些问题无法在不同的环境中轻松复现,甚至在重新启动后就消失了。 如果您正在考虑在代码中添加一些日志以帮助解决问题,您将必须经历以下阶段:测试、预发,然后生产。...退出当前 Arthas 客户端,其他 Arthas 客户端不受影响。...stop 关闭 Arthas 服务端,所有 Arthas 客户端全部退出。...jad 查看加载类的方法信息 反编译 jad 命令将 JVM 中实际运行的 class 的 byte code 反编译成 java 代码,便于你理解业务逻辑; 在 Arthas Console 上,反编译出来的源码是带语法高亮的...monitor 命令是一个非实时返回命令. 实时返回命令是输入之后立即返回,而非实时返回的命令,则是不断的等待目标 Java 进程返回信息,直到用户输入 Ctrl+C 为止。

51610

>>技术应用:Alibaba Arthas 基础入门(一)

有如下特性 Dashboard面板:实时查看系统的运行状况 查看入参/返回值/异常:查看函数调用的参数,返回值和异常 在线热更新:jad/sc/redefine 一条龙热更新代码 类冲突:秒解类冲突问题...进程所加载的 Arthas 版本号 history 打印命令历史 quit 退出当前 Arthas 客户端,其他 Arthas 客户端不受影响 exit 退出当前 Arthas 客户端,其他 Arthas...客户端不受影响 stop 完全退出arthas shutdown 关闭 Arthas 服务端,所有 Arthas 客户端全部退出 keymap Arthas快捷键列表及自定义快捷键 增强命令列表...options 全局开关 FAQ Q1: try to set the same JAVA_HOME Target VM JAVA_HOME is HOME/Contents/jbr/Contents.../Home, arthas-boot JAVA_HOME is JRR_HOME/Home/jre, try to set the same JAVA_HOME A1 不知道怎么处理,我这边重新启动就可以了

18310

多线程基础知识(全面):创建线程、线程状态如何变化、wait()、notify()、sleep()、停止线程

start():用来启动线程,通过该线程调用run方法执行run方法中所定义的逻辑代码。start方法只能被调用一次,线程之间无顺序,是按照CPU分配的时间片来回切换的run():就是普通的方法调用。...因此,在使用 wait() 前,必须先加锁,把wait()写到synchronized代码块内部。同时,Java也规定调用 notify() 也必须在synchronized代码块中。...;若想使while循环在某一特定条件下退出,可设置一个boolean类型的标志,来控制线程是否继续执行定义一个boolean类型的标志,在线程run方法中根据该标志判断是否终止线程,多用于while循环中.........ThreadFlag running ...线程退出4.4 2 使用stop方法强行终止(不推荐)可以直接使用 thread.stop() 强行终止线程,stop方法非常危险,类似于突然强行关闭计算机电源键...方法8)wait与sleep有何不同都是让当前线程暂时放弃 CPU 的使用权,进入阻塞状态方法归属、醒来时机、锁特性不同9)如何停止一个正在运行的线程有四种方式可以停止线程run()方法运行完毕,线程自动结束使用退出标志

9510

ElasticSearch单机集群搭建教程

本文将介绍ElasticSearch单机版与集群版的安装与配置,ElasticSearch依赖JRE,注意机器是否安装JDK8【最低版本要求就是JDK8】,且JDK环境变量是否配置完成 java -...模式下在启动时会以error的方式提示配置检查异常并退出 除了通过network.host修改地址,还可以通过 bin/elasticsearch -Ehttp.port=19200  方式修改 4、集群版配置...在本地启动集群的方式 1.     ...查看三台节点是否在同一个集群中   http://127.0.0.1:7200/_cat/nodes             plus:访问7200   8200 9200都可以,如果返回三个节点则说明集群启动成功...25 11:42 esdata 4.3    集群中的三台机器启动 /usr/local/elasticsearch/bin/elasticsearch -d 执行jps,每台机器都进行验证,正常会返回

71220

推荐一个生产环境问题排查利器

1)这个类从哪个jar包加载的?为什么会报各种类相关的Exception。 (2)更改的代码为什么没执行?...3、基本使用 (1启动arthas-boot 下载arthas-boot.jar,再用java -jar启动 wget https://alibaba.github.io/arthas/arthas-boot.jar...-h:表示输出帮助信息 arthas-boot.jar是Arthas的启动程序,启动后,会列出所有的java进程。 ?...的 byte code 反编译成 java 代码,便于你理解业务逻辑; 在 Arthas Console 上,反编译出来的源码是带语法高亮的,阅读更方便 当然,反编译出来的 java 代码可能会存在语法错误...,赋值给临时变量,返回一个list $ ognl '#value1=@System@getProperty("java.home"), #value2=@System@getProperty("java.runtime.name

68530

Runtime源码解析(JDK1.8)

在第一个阶段中,会以某种未指定的顺序启动所有注册的关闭钩子(hook)(如果有的话),并且允许它们同时运行直至结束。 * 在第二个阶段中,如果启用退出终结,则运行所有未调用的终结方法。...* 如果指定的钩子先前注册并且成功地取消注册,则返回 true,其他情况返回 false。...此方法从不正常返回。 * 应小心使用此方法。与 exit方法不同,此方法不会启动关闭钩子,并且如果启用退出终结,此方法也不会运行未调用的终结方法。...;这样做可指定拥有未被自动调用终结方法的所有对象的终结方法,并将在退出 Java 运行时前运行此终结方法。...* 虚拟机可用的最大处理器数目;从不小于 1 */ public native int availableProcessors(); /** * 返回 Java 虚拟机中的空闲内存量

1.2K90

【瑞吉外卖】day02:后台系统登录、退出功能

后台系统登录功能 4.1 需求分析 4.2 代码开发 4.3 功能测试 5. 后台系统退出功能 5.1 需求分析 5.2 代码实现 5.3 功能测试 4. 后台系统登录功能 4.1 需求分析 1)....如果没有查询到, 则返回登录失败结果 ④. 密码比对,如果不一致, 则返回登录失败结果 ⑤. 查看员工状态,如果为禁用状态,则返回员工禁用结果 ⑥....则返回员工禁用结果    if(emp.getStatus() == 0){        return R.error("账号禁用");   } ​    //6、登录成功,将员工id存入...emp); } 4.3 功能测试 代码实现完毕后, 启动项目, 访问url: http://localhost:8080/backend/page/login/login.html , 进行登录测试。...如果员工需要退出系统,直接点击右侧的退出按钮即可退出系统,退出系统后页面应跳转回登录页面。 1).

80020

Java虚拟机】JVM诊断神器Arthas入门实操

1.Arthas简介快速入门图片阿里开源的Java诊断工具,它可以在运行时对Java应用程序进行动态诊断和调试当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决这个类从哪个 jar 包加载的?...java -jar arthas-boot.jar 图片运行日志路径 ~/logs/arthas/arthas.log 图片退出 arthas如果只是退出当前的连接,其他客户端不受影响,可以用 quit...或者exit命令目标进程上的 arthas 还会继续运行,端口保持开放,下次连接时执行java -jar arthas-boot.jar可以直接连接上如果想完全退出 arthas,可以执行stop命令2...3.Arthas常用JVM命令案例实战(1)JVM相关的命令dashboard - 当前系统的实时数据面板heapdump - dump java heap, 类似 jmap 命令的 heap dump...图片(9)sm - 查看加载类的方法信息sm -d com.lixiang.controller.SpringTestController图片(10)jad - 反编译指定加载类的源码反编译整个类

42500

Java】多线程初探

使用Callable和Future 对这三种方式,创建线程的方式虽然不同,启动线程的方式是一样的,都是对线程实例调用start方法来启动线程。...使用中断机制结束线程 1. 共享变量结束线程 我们可以设置一个共享变量,在run方法体中,判断该变量为true时则执行有效工作的代码,判断为false时候则退出run方法体。...1秒后就结束线程,实际上在大约5秒后线程才结束。...线程现在已经能够及时退出啦 中断线程的时候, 如果线程处在阻塞状态,则会1....例如我们可能存在这样一个需求: 在主线程中启动了一个子线程,希望子线程运行完后才执行主线程中的代码,在子线程运行完毕前主线程处于阻塞的状,这时就可以使用join方法 举个例子,在下面我们想要在子线程t

67840

【APP 逆向百例】Frida 初体验,root 检测与加密字符串定位

逆向目标 设备:Google Pixel4,Android 10, root APP:UnCrackable-Level1.apk(可在公众号回复 APP 获取) APP 检测了 root,如果手机...图片 所以我们这里就有多种过掉检测的方法: 方法一:Hook 三个检测方法,让它们都返回 false,不再执行后续的 a 方法,就不会退出 APP 了: Java.perform( function...,attach 模式 Hook 已经存在的进程,spawn 模式会重启 APP,启动一个新的进程并挂起,在启动的同时注入 frida 代码,适用于在进程启动前的一些 Hook,attach 模式传入的是...就是 APP 名称,owasp.mstg.uncrackable1 就是包名: 图片 运行 Python 代码,注意手机端也要启动 frida-server,过掉 root 检测后,先随便输入字符串,点击...\frida-hook.js:attach 模式,APP 启动后注入 frida 代码; frida -U -f owasp.mstg.uncrackable1 -l .

1.2K20

Go 错误处理总结与实践

Error 与 Exception 不同于 Java、C++ 等语言,Go 处理异常的逻辑是不引入 exception,而是采取多参数返回,因此可以在函数中带入 error interface 对象来交给调用者来进行处理...error 是值,因此有很大的灵活性进行处理 Go 错误处理最佳实践 panic panic 只用于真正异常的情况,如 在程序启动的时候,如果有强依赖的服务出现故障时 panic 退出 在程序启动的时候...,如果发现有配置明显不符合要求, 可以 panic 退出(防御编程) 在程序入口处,例如 gin 中间件需要使用 recovery 预防 panic 程序退出 因为 panic 会导致程序直接退出,而如果使用...= nil 时及时返回错误,从而避免过多的代码嵌套。...我们常常用日志来辅助我们进行错误处理,不需要进行返回、被忽略的错误必须输出日志,禁止每个出错的地方都打日志。而如果同一个地方不停地报错,最好是打印一次错误详情并打印出现次数。

20530

再见了Future,图解JDK21虚拟线程的结构化并发

Java为我们提供了许多启动线程和管理线程的方法。在本文中,我们将介绍一些在Java中进行并发编程的选项。...1 基础方法 通过Lambda表达式启动平台线程的这种创建线程的方法最简单,适用于简单情况。 // Lambda表达式启动平台线程的一种方法。...因此,尽管用Java Future是处理可拆分为子任务的任务的一种不错方法,还不够完美。开发须将用例的“感知”编码到逻辑中,这很难!...本文看到的示例是用例需在任一子任务失败时立即返回StructuredTaskScope远不止如此。...在第一个任务成功时返回 在所有任务完成时返回(成功或失败) 制作自己的StructuredTaskScope版本 6.1 StructuredTaskScope优点 代码易阅读,因为无论哪种用例,代码看着都一样

82710

瑞吉外卖-介绍

后台系统退出功能 需求分析 代码开发 # 软件开发整体介绍 # 软件开发流程 # 角色分工 项目经理:对整个项目负责,任务分配,把控进度 产品经理:进行需求调研,输出需求调研文档、产品原型等 UI设计书...密码比对,如果不一致则返回登录失败结果 查看员工状态,如果为禁用状态,则返回员工禁用结果登录 成功,将员工id存入Session并返回登录成功结果 编写处理器 /** * 员工登录...,则返回员工禁用结果登录 if(emp.getStatus()==0){ return R.error("账号禁用"); }...: 如果员工需要退出系统,直接点击右侧的退出按钮即可退出系统,退出系统后页面应跳转回登录页面 # 代码开发 用户点击页面中退出按钮,发送请求,请求地址为/employee/logout,请求方式为POST...我们只需要在Controller中创建对应的处理方法即可,具体的处理逻辑: 清理Session中的用户id 返回结果 /** * 员工退出 * @param request

81210
领券