一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

2021最新版阿里巴巴Java性能调优速成手册强烈推荐

为什么要做性能调优? 一款线上产品如果没有经过性能测试,那它就好比是一颗定时炸弹,你不知道它什么时候会出现问题,你也不清楚它能承受的极限在哪儿。 所以,要不要做性能调优,这个问题其实很好回答。所有的系统在开发完之后,多多少少都会有性能问题,我们首先要做的就是想办法把问题暴露出来,例如进行压力测试、模拟可能的操作场景等等,再通过性能调优去解决这些问题。 好的系统性能调优不仅仅可以提高系统的性能,还能为公司节省资源。这也是我们做性能调优的最直接的目的!所以,接下来我就给大家带来了一份“阿里巴巴lava性能调优实战(2021华山版)”想要学习的朋友们,我们就先来看看文章大概内容:(同时在文末会有笔记领取方式!大家自行解决) 主要内容 模块一 概述 为你建立两个标准。-个是性能调优标准,告诉你可以通过哪些参数去衡量系统性能;另-一个是调优过程标准,带你了解通过哪些严格的调优策略,我们可以排查性能问题,从而解决问题。 模块二 Java 编程性能调优 JDK是Java语言的基础库,熟悉JDK中各个包中的工具类,可以帮助你编写出高性能代码。这里我会从基础的数据类型讲起,涉及容器在实际应用场景中的调优,还有现在互联网系统架构中比较重要的网络通信调优。 03.字符串性能优化不容小觑,百M内存轻松存储几十G数据 05.ArrayList还是LinkedList?使用不当性能差千倍 06.Stream如何提高遍历集合效率? 10.网络通信优化之通信协议:如何优化RPC网络通信? 11.推荐几款常用的性能测试工具 模块三 多线程性能调优 目前大部分服务器都是多核处理器,多线程编程的应用广泛。为了保证线程的安全性,通常会用到同步锁,这会为系统埋下很多隐患;除此之外,还有多线程高并发带来的性能问题,这些都会在这个模块重点讲解。 12.多线程之锁优化(上):深入了解Synchronized同步锁的优化方法 13.多线程之锁优化(中):深入了解Lock 同步锁的优化方法 15.多线程调优(上):哪些操作导致了上下文切换? 17.并发容器的使用:识别不同场景下最优容器 模块四 JVM性能监测及调优 Java 应用程序是运行在JVM之上的,对JVM进行调优可以提升系统性能。这里重点讲解Java对象的创建和回收、内存分配等。 20. 磨刀不误砍柴工:欲知JVM调优先了解JVM内存模型 21.深入JVM即时编译器JIT,优化Java编译 22.如何优化垃圾回收机制? 模块五 设计模式调优 在架构设计中,我们经常会用到-一些设计模式来优化架构设计。这里我将结合一-些复 杂的应用场景,分享设计优化案例。 29.生产者消费者模式:电商库存设计优化 30. 装饰器模式:如何优化电商系统中复杂的商品价格策略? 模块六 数据库性能调优 数据库最容易成为整个系统的性能瓶颈,这里我会重点解析-一些数据库的常用调优方法。 33.MySQL调优之事务:高并发场景下的数据库事务调优 35.记一次线上SQL死锁事故:如何避免死锁? 38.数据库参数设置优化,失之毫厘差之千里 模块七 实战演练场 以上六个模块的内容,都是基于某个点的调优,现在是时候把你前面所学都调动起来了,这里我将带你进入综合性能问题高频出现的应用场景,学习整体调优方法。 41.如何设计更优的分布式锁? 43.如何使用缓存优化系统性能? 最后 作者:努力向上的小芷 链接:https://juejin.cn/post/6920124384027885581 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

龙生   25 Jan 2021
View Details

c# base64转字符串

转成 Base64 形式的 System.String:

  转回到原来的 System.String:

  from:https://www.cnblogs.com/daimaxuejia/p/12893207.html

龙生   20 Jan 2021
View Details

c# 确定dynamic类型的数据对象是否存在某个属性

  https://www.cnblogs.com/94cool/p/8135579.html

龙生   19 Jan 2021
View Details

IIS上部署Asp.Net Core 3.1应用

前置条件 官网下载页面:https://dotnet.microsoft.com/en-us/download/dotnet/3.1 安装ASP.NET Core Runtime 3.1.31 安装 Hosting Bundle 3.1.31 执行以下命令 net stop was /y net start w3svc   发布应用     部署到IIS   1.应用程序池:选择无托管模式。我电脑是64位,选择“启用32位应用程序”为“false”。   2.网站设置 为你的网站创建windows用户,把网站目录设置对该用户全部权限。 IIS管理器选择你的网站:基本设置 -> 连接为 -> 特定用户。     参考资料: https://blog.csdn.net/weixin_33757609/article/details/93693395 https://blog.csdn.net/xulong5000/article/details/106072771 https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio  

龙生   15 Jan 2021
View Details

window server 2012 R2 Standard 部署.netcore 3.1 踩坑

服务器版本:window server 2012 R2 Standard SDK 版本: dotnet-sdk-3.1.302-win-x64.exe 部署步骤: 1. 官网下载sdk( https://download.visualstudio.microsoft.com/download/pr/56b00a71-686f-4f27-9ad1-9b30308688ed/1fa023326e475813783a240532c9f2c8/dotnet-sdk-3.1.302-win-x64.exe ) 2.安装部署: 拷贝到服务器,双击安装,安装完毕后,打开cmd名称,输入 dotnet命令查看。。。。结果如下     这是个啥??? 某度查询说是缺少补丁,需要打补丁,服务器又不能联网只能手动上网单独下载了。 其中:https://www.microsoft.com/en-us/download/details.aspx?id=42334 这里面包含KB2919355,KB2932046,KB2934018,KB2937592,KB2938439,KB2959977,chearcompressionflag.exe,可以一次下载。       但是在安装这些补丁之前需要先安装KB2999226 地址 https://www.microsoft.com/en-us/download/confirmation.aspx?id=49063 和 KB2919442,地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=42135   补丁安装顺序: KB2999226 KB2919442, clearcompressionflag.exe、 KB2919355、 KB2932046、 KB2959977、 KB2937592、 KB2938439、 KB2934018。 严格按照补丁顺序安装,否则不确保是否能安装成功。   最后在安装 Visual C++ Redistributable for Visual Studio 2015 地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145   安装时提示重启,可以都安装完毕后重启,也可以每次重启,我是都安装完了再重启的,也可以成功。   安装重启后,在cmd命令下输入 dotnet --version  如果出现一下内容,就说明安装成功 光子:我按以上教程实际操作时不行,要安装:https://www.microsoft.com/en-us/download/confirmation.aspx?id=42162   from:https://www.cnblogs.com/jone_sun/p/13403269.html

龙生   15 Jan 2021
View Details

使用URLScan隐藏IIS服务器Server头信息

百度搜索 URLScan V3.1,进行软件下载,根据操作系统版本,有32和64位的区分,如下图所示: 以管理员身份运行对应版本的软件,然后勾选“I accept the terms in the License Agreement”,然后点击“Install”,如下图所示: 直至安装完成,点击“Finish”,如下图所示: 我们在浏览器中打开Server服务器上部署的Web应用,然后通过fiddler软件进行查看Header头信息,可以看到Server:Microsoft-IIS/7.5,如下图所示: 此时我们打开URLScan默认安装路径C:\Windows\System32\inetsrv\urlscan,找到UrlScan.ini文件,如下图所示: 使用记事本工具打开UrlScan.ini文件,找到RemoveServerHeader=0配置节然后修改为RemoveServerHeader=1,最后保存文件,如下图所示: 此时重新启动下服务器上的IIS服务,打开命令提示符,输入iisreset即可,如下图所示: 此时我们刷新Web应用地址,重新使用fiddler进行Header信息观察,现在就看不到Server这个Header头配置信息了,如下图所示: from:https://jingyan.baidu.com/article/6d704a1379629a28db51ca37.html   urscanV3.1下载

龙生   14 Dec 2020
View Details

解决 spring boot devtool 热部署后出现访问404问题

DevTools的检测时间和idea的编译所需时间存在差异。在idea还没完成编译工作前,DevTools就开始进行重启和加载,导致@RequestMapping没有被全部正常处理。其他方法没试,就直接用了看起来最简单的方法:牺牲一点时间,去加长devtools的轮询时间,增大等待时间。 解决方案如下: spring.devtools.restart.poll-interval=3000ms spring.devtools.restart.quiet-period=2999ms   from:https://www.cnblogs.com/yxfcnbg/p/11510426.html

龙生   13 Dec 2020
View Details

把object转成JSONObject JSON.toJSON

把object转成JSONObject JSON.toJSON public void onNext(Object o) { LogUtil.i("getFavorites", "json=" + o.toString()); JSONObject json = JSON.parseObject(o.toString()); // JSONObject json = JSON.parseObject("{\"code\":1001,\"timestamp\":\"2018-11-05 03:40:54\"}"); LogUtil 的可以打印o.toString() 出来,直接传字符串解析json可以获得属性值,为什么JSONObject json = JSON.parseObject(o.toString()); 就报错了?强制转换也报错,把object转成JSONObject 这种要怎么用的? 或者怎么把Object o 这个对象里面的属性值读出来的? 怎么变成字符串的? public interface ObserverResponseListener<T> { void onNext(T t); 传进来的Object是个泛型的 JSONObject json = (JSONObject) JSON.toJSON(o); 用这样可以了   from:https://www.cnblogs.com/zdz8207/p/java-object-JSONObject.html

龙生   11 Dec 2020
View Details

java 遍历数组常见的3种方式

1.for循环,最常见 2.利用foreach 3.利用jdk自带的方法  --> java.util.Arrays.toString()   from:https://www.cnblogs.com/baiaixing/p/11369514.html

龙生   11 Dec 2020
View Details

idea中配置Lombok + Logback + Slf4j打印日志(附所有踩坑记录)

本文介绍非spring项目中利用Lombok + Logback + Slf4j记录日志,并附上所有的踩坑记录 本文环境 macos Idea2019.2 配置过程 首先在idea中下载lombok插件 在pom.xml文件中引入Lombok,Logback,Slf4j依赖

  在项目中的resources文件夹中添加logback.xml配置文件

  编写代码测试

输出为 踩过的坑 看上去简简单单几步就完成了,然后并不是,接下来附上踩过的坑以及解决方法 idea中plugins的marketplace直接打不开 ​ 在idea中使用lombok需要在plugins中的marketplace中下载插件,然而我下载时marketplace迟迟无法连接上 ​ 我们需要在设置中的Appearance & Behavior --> System Settings --> Http Proxy中选择Auto-detect proxy settings勾选Automatic proxy configuration URL选项并填写url为http://127.0.0.1:1080,重启idea 代码运行成功,但是不显示日志信息 ​ 也是很邪门的一种情况,代码没错,但是不显示log打印的信息。 ​ 解决方案为,在Build,Execution,Deployment–>compiler–>Annotation Processors中勾选Enable annotation processing,重启idea 多个Slf4j冲突 报错信息如下

  ​ 说明是jar包冲突了,maven仓库中可能同时包含了log4j,logback,然后slf4j在程序运行时,不知道binding哪一个jar包。 解决方案为:在maven仓库中删除其中一个jar包,只保留一个即可。   from:https://blog.csdn.net/jerseywwwwei/article/details/105871320

龙生   09 Dec 2020
View Details
1 47 48 49 177