- java类加载机制
娟宝宝萌萌哒
java初始化过程双亲委派类加载器自定义类加载器
文章目录类生命周期类加载时机主动引用被动引用类加载过程加载验证准备解析初始化父类和子类的初始化顺序双亲委派模型3种系统提供的类加载器委派行为双亲委派解决的问题委派模型的破坏线程上下文类加载器OSGI热部署自定义类加载器类相等和加载器的关系常见问题分析1由不同的类加载器加载的指定类还是相同的类型吗?2在代码中直接调用Class.forName(Stringname)方法,到底会触发那个类加载器进行类
- OSGI bundle 运行报错 java.lang.ClassNotFoundException & java.lang.NoClassDefFoundError
sunny05296
开发常见问题java开发语言
OSGIbundle运行报错java.lang.ClassNotFoundException&java.lang.NoClassDefFoundError在helloworld-serverbundle中引入了MySQLJDBC驱动包(mysql-connector-java-5.1.35-bin.jar),helloworld-clientbundle调用helloworld-serverbun
- OSGI 环境搭建
sunny05296
开发javaosgi
OSGI环境搭建OSGIWindows运行环境搭建(Linux也可参考该方式、只是文件路径换成Linux路径即可)。OSGIEquinoxDownloads软件包官方下载页面:https://download.eclipse.org/equinox/里面有所有版本的下载连接。我下载4.30版本下载:https://archive.eclipse.org/equinox/drops/R-4.30-2
- Maven构建OSGI+HttpServer应用
sunny05296
开发mavenjavaosgi
Maven构建OSGI+HttpServer应用官网(https://eclipse.dev/equinox/server/http_in_equinox.php)介绍有两种方式:一种是基于”org.eclipse.equinox.http”包的轻量级实现,另一种是基于”org.eclipse.equinox.http.jetty”包(基于jetty的Servlet)实现。使用"org.eclip
- windows系统如何部署nacos
hhf的博客
项目相关微服务nacos
1.安装nacos去nacosgithub下载nacos最新稳定版本,我用的是nacos-server-2.2.3.zip,下载后解压2.创建数据库启动mysql,创建数据库nacos,数据库名字是从conf/application.properties文件获得的把db这三行取消注释,修改为自己mysql的账号密码3.执行建表sql语句在mysql管理工具对nacos数据库运行conf/mysql
- Nacos注册中心和服务发现
zhouwenxing666
服务发现中间件springcloudjava云原生微服务springboot
Nacos注册中心01认识和安装NacosNacos比Eureka功能更为丰富,是SpringCloud中的一个组件,Nacos是阿里巴巴的产品,在国内更流行。NACOS功能:服务发现(对标Eureka)、配置管理、服务管理下载见:D:\zwx\weifuwu\nacos-server-1.4.1或者在官网GitHub主页:https://github.com/alibaba/nacosGitHu
- 打开eclipse出现Incompatible JVM Verison 1.8.0_181 of the JVM....
超酱仔啦
开发工具javaeclipsejdk
打开eclipse出现IncompatibleJVMVerison1.8.XXXoftheJVMisnotsuitableforthisproduct.Version:11orgreaterisrequired.1.本地已经有1.8.XX,但因为新安装eclipse需要JVM更高的版本。2.在文件中eclipse.ini把对应的两个-Dosgi.requiredJavaVersion=11改成1.
- OSGI架构结合低版本Spring如何引进Feign
泸西凉米线
javaspring架构java
本文介绍用不了springcloud的低版本系统如何借鉴cloudopenfeign的封装思想来封装Feign,也能在多个工程以同样的接口申明方式来调用远程接口。OpenFeign源于Netflix的Feign,是http通信的客户端。屏蔽了网络通信的细节,直接面向接口的方式开发,让开发者感知不到网络通信细节。所有远程调用,都像调用本地方法一样完成!封装的关键是OpenFeign这两个注解,我们后
- PyTorch深度学习实践——Logistic Regression
不见当年灰太狼
pytorch深度学习pytorch深度学习机器学习
在本次学习中,学习到了logistic回归,虽然说是一种回归模型,但是这个模型实际上是做分类问题,对于这种回归模型我们同样从三个方面来进行介绍,logistic回归是什么?为什么要采用logistics回归?如何实现losgistic回归模型?下面是对于logistic回归的总结:logistic回归是什么?给出定义:逻辑斯谛回归(logisticregression)是统计学习中的经典分类方法,
- JAVA的双亲委派机制
澄风
JAVAjava开发语言双亲委派类加载器
目录双亲委派的介绍破坏双亲委派模型OSGI双亲委派(ParentDelegation)是一种软件设计模式,常用于Java类加载器的实现。它通过继承关系来实现类的加载,即每个类加载器都有一个父加载器,当一个类加载器需要加载一个类时,它首先将该任务委派给它的父加载器,只有在父加载器无法加载时,才由该加载器自己来完成加载。双亲委派的介绍站在Java虚拟机的角度讲,只存在两种不同的类加载器:一种是启动类加
- Dbeaver 启动报错: error ,see the log file ...
烟萝
查找log文件:[安装路劲]\DBeaver\configuration下看到.log结尾的文件;打开查看报错信息,显示内容表明文件访问没有权限,我采取的方法是删除文件:org.eclipse.osgi,解决了我的问题。如果你也遇到类似的问题,可以先备份文件org.eclipse.osgi,然后进行删除试试,希望对你有帮助。
- 什么是OSGI,Apache Flex, Apache Karaf, Equiniox, Knopflerfish, Virgo, Blueprint 及 Pax Exam 各自与OSGI有什么关系?
虽不能至_然心向往之
OSGi是指开放服务网关(OpenServiceGatewayinitiative)。OSGi规范描述了使用Java获得更好的模块化的方法。应用和组件是以bundle形式的,它们可以被远程的安装,启动,停止,更新,及卸载,且不需要重启应用。尽管OSGi最初是作为服务网关(如名所示),OSGi规范在演化中已经超出这一范围,并正被用于应用的更广范围,比如EclipseIDE是一个众所周知的例子。模块架
- 基于netty的Marshalling序列化框架简单实现
胡浩8880
1.导入相关jar包maven项目直接添加依赖即可。org.jboss.marshallingjboss-marshalling-osgi2.0.0.Beta52.创建序列化传输的类//记得要实现Serializable接口publicclassUserInfoimplementsSerializable{privateStringusername;privateStringage;publicS
- Nacos注册中心
KYGALYX
springcloud
Nacos注册中心安装NacosNacos安装指南1.Windows安装开发阶段采用单机安装即可。1.1.下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/nacos/rele
- Nacos的Linux和Windows的安装
漠丶小翁
Nacos安装指南1.Windows安装开发阶段采用单机安装即可。1.1.下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/alibaba/nacosGitHub的Release下载页:https://github.com/alibaba/nacos/releases如图:windows版本
- Protobuf 反射技术简介
sober_me
分布式python开发语言
对于反射大家应该不会陌生,如果你接触过一些框架(如ORM、IOC、OSGi等)的内部实现,应该更能体会反射技术的应用可谓无处不在。反射概念最早出现于人工智能领域,20世纪70年代末被引入到程序语言设计中。1982年MIT的Smith,BrianCantwell在他的博士论文中最早提出了程序反射的概念:既然我们可以构造“有关某个外部世界表示”的计算过程,并通过它来对那个外部世界进行推理;那么我们也可
- OSGI热插拔服务
t梧桐树t
javaspringboot
OSGi(OpenServiceGatewayinitiative)作为一种模块化技术,为Java应用程序提供了动态性、模块化和可扩展性。通过OSGi,应用程序可以在运行时动态地添加、删除或更新服务,而无需停止和重新启动整个应用程序。这种特性使得OSGi非常适合用于构建热插拔系统。热插拔热插拔是指在应用程序运行时,可以动态地添加或删除组件,而无需停止和重新启动整个应用程序。通过使用OSGi,我们可
- 【Docker基础四】Docker安装Nacos
herogus丶
Docker基础docker容器
准备需安装mysql并创建nacos数据库。没有安装mysql?看这篇文章:【Docker基础二】Docker安装Mysql8-CSDN博客建表语句地址:建表语句(nacosgithub)下载镜像可用版本:发布·阿里巴巴/NACOS(github.com)#查看镜像dockersearchnacos#获取最新版本镜像#dockerpullnacos/nacos-server#获取指定版本镜像doc
- Karaf教程之安装和应用开发
AshCode
OSGiKarafosgikaraf
目录概览安装和启动一些便利的命令Tasklist-一个小的OSGI应用父pom和通用工程的设置Tasklist-modelTasklist-persistenceTasklist-uiTasklist-features在Karaf中安装应用总结参考文献概览以这篇文章为起点,我将开始写一系列关于ApacheKaraf的文章,ApacheKaraf是一个基于Equinox或者Felix框架开发的一个O
- 微内核架构的理解
某科学的南条
杂项架构
什么是微内核架构相信大家都听说过微内核架构,也或多或少做过一些类似于微内核架构的设计,为了可以更好的设计出微内核的架构,我们了解下什么是微内核架构。说到微内核架构,大家首先会想到的是Eclips、IDEA、OSGI、SpringPlugin、SPI等,这些都是我们熟知的微内核架构。有了微内核架构,我们可以更好的定制和控制流程,所以微内核架构的设计思想经常在做配置化中台项目的方案中出现的。微内核架构
- 七:Day01_Java9—16新特性
新手小菜鸟上路
java
第一章JDK9新特性jdk9是新特性最多的,因为jdk8是一个稳定版本。1、JDK9新特性概述模块系统(ModuleSystem)Java9最大特性。它提供了类似于OSGI框架的功能,模块之间存在相互的依赖关系,可以导出一个公共的API,并且隐藏实现的细节。作用为减少内存的开销。JShell和JlinkJShel是交互式Java编程环境。允许开发者在命令行界面中快速编写和测试Java代码。Jlin
- 【基础篇】七、线程上下文类加载器打破双亲委派机制
-代号9527
JVMjvmjava
文章目录1、SPI机制2、JDBC案例之SPI机制3、打破双亲委派机制:线程上下文类加载器4、打破双亲委派机制:osgi模块化5、JDK9之后的类加载器6、小总结1、SPI机制SPI,ServiceProviderInterface,是JDK内置的一种服务提供发现机制。大致流程:相关组织定义好接口标准并对外提供第三方去针对接口写实现类,并将信息写在META-INF/services/${inter
- axios的基础使用
有内涵的Google
中文文档:http://www.axios-js.com/npm仓库地址:https://www.npmjs.com/package/axiosgithub地址:https://github.com/axios/axios简介axios是基于promise用于浏览器和node.js的http客户端1.支持浏览器和node.js2.支持promise3.能够请求拦截和响应4.能转换请求和响应数据5.
- 关于“HTTP 405 Method Not Allowed”问题小记
毛豆来啦
最近接手一个springboot项目,因为之前使用的是公司封装的osgi框架,很少使用springBoot。所以自己尝试添加一个api接口,犯了一个很低级的错误。我的方法是定义的是使用:GET的方式@Path("/userInfo")publicclassUserInfoController{@AutowiredUserInfoServiceImpluserInfoService;/****/@G
- Nacos源码编译发布
James.K柯
日常笔记java开发语言
1:下载源码GitHub-alibaba/nacos:aneasy-to-usedynamicservicediscovery,configurationandservicemanagementplatformforbuildingcloudnativeapplications.https://github.com/alibaba/nacosGitHub-alibaba/nacos:aneasy-
- Permission denied (publickey). Mac OS Sierra SSH密钥在重启后丢失的问题
Bana
macosgit使用ssh出现Permissiondenied的问题,使用sshagent解决之后电脑重启还是出现这个问题,网上找了下问题发现:从macOSSierra10.12.2以后,SSH的配置选项中多了“UseKeychain”选项解决办法在~/.ssh/config文件中添加下面这段话,问题就可以解决了://在命令行使用vim创建config,输入内容Host*AddKeysToAgen
- 基于Maven构建OSGI应用(Maven和OSGI结合)
sunny05296
开发mavenjava数据库OSGI
基于Maven构建OSGI应用。使用Maven来构建项目,包括项目的创建、子模块buldle的创建等。使用OSGI来实现动态模块化管理,实现模块的热插拔效果(即插即用)。创建一个Maven项目:helloworld,并在该项目下创建两个Maven子模块:helloworld-client、helloworld-server。创建helloworldmaven项目、填写参数及AdvancedSett
- Java构件技术
Artisan_w
架构java开发语言
文章目录Java构件技术构件及其在信息系统项目中的重要性常见的Java构件技术和工具JavaBeansServletsEJBSpringFramework(Spring框架)OSGi(OpenServiceGatewayInitiative)SpringCloud与OSGi的联系RESTfulWebServicesJava构件技术构件及其在信息系统项目中的重要性构件/组件:Component,是一
- 关于eclipse与java version不兼容的问题
超维Ai编程
eclipsejava
关于eclipse与javaversion不兼容的问题javaversion的版本取决于jdk,所以eclipse于javaversion不匹配的话需要更改然后找到下面的黑色字体部分,后面的数字为javaversion的版本号,如果你得JDk版本为1.8,就改成1.8-Dosgi.requiredJavaVersion=11-Dosgi.instance.area.default=@user.ho
- eclipse启动mysql报错日志在哪儿_dbeaver解压后启动报错Could not resolve module: org.eclipse.compare...
夏骆
dbeaver工具对很多数据库都支持,但目前对oracle支持的不是特别好,mysql还行吧,其他的还没怎么使用。下载dbeaver解压版后,点击dbeaver.exe刚开始是会报错误的在对应的目录下查看日志文件中有!MESSAGEFrameworkEventERROR!STACK0org.osgi.framework.BundleException:Couldnotresolvemodule:o
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1