题目解题思路解题代码题链接题目解题思路解题代码importjava.util.*;publicclassMain{//定义翻转字符数组的方法publicstaticvoidreverse(char[]arr,intstart,intend){while(start
nodejs的npm
思静鱼
node.jsnpm前端node.js
1.什么是npm?npm(NodePackageManager)是Node.js的默认包管理工具,用于:安装和管理依赖(第三方库、框架等)。运行项目脚本(如启动服务、测试、构建等)。发布和共享代码(可将自己的模块发布到npm仓库)。2.为什么推荐用npmstart启动项目?在Node.js项目中,npmstart是标准的启动命令,以下是推荐原因:(1)标准化流程项目根目录的package.json
程序员管理与AIStarter开发:如何避免需求Bug,提升项目效率
ai_xiaogui
人工智能智能体国际化AI平台bug程序员管理AIStarter需求沟通避免BugAI模型一键部署教程
大家好,我是熊哥!今天聊聊程序员管理和AIStarter开发中的经验教训。创业公司项目常因需求不清出Bug,比如“管理员删管理员”这种低级错误,引发用户不满。熊哥亲测:程序员管理关键在于明确需求!通过整理需求文档、双向确认、开会逐条对齐,熊哥团队从Bug频发到第二个月问题骤减,AIStarter发布稳定。AIStarter专注AI模型部署(如Ollama),一键安装,免费为主,市场反馈超棒!总结:
2022-08-18(listening)
Catholi_costudy
Vocabularypeculiarlyad.特别,尤其,古怪地perspectiven.视角,观点,透视画法isolatev.孤立,分离,隔离burdenn.负担,责任,负重overemphasizev.过分强调astonishv.使吃惊,使惊讶intentionn.意图,目的,打算,愈合unselfishnessn.不自私,慷慨practicala.真实的,实际的starvationn.饥饿,
25.k个一组翻转链表
qq_46091746
链表数据结构
classSolution{public:ListNode*reverseKGroup(ListNode*head,intk){ListNode*dummy=newListNode(0);dummy->next=head;ListNode*tmp=dummy->next;intstep=0;//计数,用来找出首结点和尾结点ListNode*startK=nullptr;//k个一组链表中的头结点L
docker 中安装 ONLYOFFICE 服务
两点王爷
docker容器运维
由于需要在线编译word文件,所以安装ONLYOFFICE服务(已知Linux机器中有docker环境)具体如下:1️⃣Linux中创建目录若是没有docker,可先在线安装docker,具体如下:Ubuntu在线安装docker命令如下:通过apt安装apt-getinstalldocker.io运行和使用docker命令systemctlstartdockersystemctlenabledo
Spring Boot 3企业级架构设计:从模块化到高并发实战,9轮技术博弈(含架构演进解析)
会写代码的斯皮尔伯格
Java场景面试宝典SpringBoot3企业架构高并发微服务大厂面试
面试官:cc程序员,谈谈SpringBoot3企业级架构设计?场景背景互联网大厂架构委员会面试官老赵,与自称"SpringBoot架构师"的cc程序员展开技术博弈。面试过程第一轮:模块化设计面试官:SpringBoot3的模块化架构有什么改进?cc:(推眼镜)依赖管理更灵活!Starter模块解耦!不过具体模块划分原则我得看官方文档...面试官:如何设计企业级Starter?cc:(自信)通过sp
Kotlin多线程调试
在深入调试多线程应用程序的复杂性之前,了解Kotlin的并发原语至关重要。Kotlin运行在JVM上,因此可以使用Java的线程,它们是并发的基本单位。下面是一个在Kotlin中启动简单线程的示例:valthread=Thread{//在并行线程中运行的代码println("这段代码在独立线程中运行!")}thread.start()解释代码:这段代码创建了一个新的线程对象,并传入一个Lambda
Tomcat问题Cannot find /data/tomcat/bin/setclasspath.sh
问题:linux环境下,启动startup命令报错Cannotfind/data/tomcat/bin/setclasspath.shThisfileisneededtorunthisprogram任一目录下面执行下面命令unsetCATALINA_HOME再次启动即可暂时解决问题./startup.sh根本上解决则vim/etc/profile去掉CALALINE_HOME这个变量。
tomcat启动报错Cannot find /usr/local/tomcat9/bin/setclasspath.sh解决办法
墨染琉璃
tomcattomcatjava服务器
最近在练习在虚拟机上部署项目并运行就遇到了好多的问题逐个记录下来吧我在tomcat启动的时候报了一个这样的错误后来百度了一番找到了解决的办法Cannotfind/usr/local/tomcat/bin/setclasspath.shThisfileisneededtorunthisprogram在任意目录执行命令unsetCATALINA_HOME之后再执行./startup.sh再后来我每一次
Nacos动态线程池完整实现方案
Nacos动态线程池完整实现方案1.依赖配置(pom.xml)com.alibaba.cloudspring-cloud-starter-alibaba-nacos-config2.2.9.RELEASEorg.springframework.bootspring-boot-starter-web2.Nacos配置(bootstrap.yml)spring:application:name:big
Spring Boot集成Caffeine本地缓存完整方案
@淡 定
springboot缓存spring
SpringBoot集成Caffeine本地缓存完整方案以下是基于您项目架构的Caffeine本地缓存集成方案,包含依赖配置、缓存策略和使用示例,适配DDD架构设计。一、添加依赖在/pom.xml中添加Caffeine依赖:com.github.ben-manes.caffeinecaffeine3.1.8org.springframework.bootspring-boot-starter-ca
docker 常见错误
零一间
服务启动失败#systemctlstartdocker.serviceJobfordocker.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusdocker.service"and"journalctl-xe"fordetails解决方法修改/etc/docker/daemon.json文件(j
python教程修订版
Ethan learn English
python
9/23Inthiscourse,I'mgoingtoteachyoueverythingyouneedtoknowtogetstartedprogramminginPython.Now,Pythonisoneofthemostpopularprogramminglanguagesoutthere在众多的……中.Andit'sbyfar目前为止oneofthemostsõughtafter受欢迎的
Python自动化神器:Pyautogui库实战指南
码界奇点
Pythonpython自动化开发语言python3.11ui
欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。持续学习,不断总结,共同进步,为了踏实,做好当下事儿~非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。✨✨欢迎订阅本专栏✨✨TheStart点点关注,收藏不迷路文章目录1.PyAutoGUI简介1.1什么是PyAutoGUI?1.2安装
part1
907762d26688
从本单元中学到的重要理念:视听说:产生情绪的原因和好坏精读:对自己的财产进行合理规划,适度消费理性消费本周怦然心动的单词:视听说:solicitor初级律师billow滚滚移动之物gossamer薄纱精读:notorious臭名昭著的impulse冲动misspend浪费prewar战前的我最喜欢的一句视听说:TrytostartorendtheconversationWithsomethingp
【CAN通信】AUTOSAR架构下TC3xx芯片是如何将一帧CAN报文发送出去的
汽车电子嵌入式
AUTOSAR精进之路AUTOSARCANBusyTxInterruptTxNotificationTxConfirmation
目录前言正文1.背景介绍2.CANDriver发送报文的底层实现2.1.vCan_30_Mcan_TxStart实现2.2vCan_30_Mcan_CopyToTxBuffer复制报文内容2.3TXBAR请求报文发送2.4vCan_30_Mcan_Interrupt产生发送中断2.5.vCan_30_Mcan_TxConfirmation2.6.vCan_30_Mcan_TxNotificatio
鸿蒙开发进阶(HarmonyOS )应用启动框架AppStartup应用实践案例
你我皆是牛马星人
鸿蒙开发HarmonyOSOpenHarmony1024程序员节harmonyos华为鸿蒙前端android鸿蒙系统
鸿蒙NEXT开发实战往期必看文章:一分钟了解”纯血版!鸿蒙HarmonyOSNext应用开发!“非常详细的”鸿蒙HarmonyOSNext应用开发学习路线!(从零基础入门到精通)HarmonyOSNEXT应用开发案例实践总结合(持续更新......)HarmonyOSNEXT应用开发性能优化实践总结(持续更新......)启动框架应用场景大型应用在启动过程中会加载大量的模块或SDK,各个模块或SD
docker部署dm数据库
yy1209357299
运维Linuxdocker容器运维dm
官方文档参考官网地址:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html下载镜像地址docker部署1、加载镜像dockerload-idm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar使用dockerimages,查看镜像和镜像标签2、创建路径,挂载备用mkd
Android-skin-support换肤原理详解
CurtainSystem
android
一.背景公司业务上需要用到换肤.为了不重复造轮子,并且快速实现需求,并且求稳,于是到Github上找了一个star数比较多的换肤框架-Android-skin-support(一款用心去做的Android换肤框架,极低的学习成本,极好的用户体验.一行代码就可以实现换肤,你值得拥有!!!).简单了解之后,可以快速上手,并且侵入性很低.作为一名合格的程序员,当然需要了解其背后的原理才能算是真正的灵活运
达梦数据库-dm8的docker部署及其导入导出
睡不醒的双眼皮
数据库linux运维
#部署单节点dockerrun-d-p5236:5236--restart=always--name=dm8--privileged=true-eLD_LIBRARY_PATH=/opt/dmdbms/bin-ePAGE_SIZE=16-eEXTENT_SIZE=32-eLOG_SIZE=1024-eUNICODE_FLAG=1-eINSTANCE_NAME=dm8-v/dm8/data:/opt
View的加载过程
window加载视图的过程activity的启动过程:App1进程startActivity->AMSstartActivity->AMSsocketzyogte孵化app2进程->app2进程触发activityThreadmain函数->handlerThread,looper,context,contentProviders,Application准备好->launcherActivity在
SpringBoot 实现 Redis读写分离
RedisTemplate的哨兵模式在Sentinel集群监管下的Redis主从集群,其节点会因为自动故障转移而发生变化,Redis的客户端必须感知这种变化,及时更新连接信息。Spring的RedisTemplate底层利用lettuce实现了节点的感知和自动切换。1.在pom文件中引入redis的starter依赖:org.springframework.bootspring-boot-star
Qt中的QProcess类
追烽少年x
Qt基础qt
Qt中的QProcess类QProcess是Qt框架中用于启动和控制外部进程的类,它属于QtCore模块。这个类提供了执行外部程序并与它们交互的功能。一、主要功能启动外部程序:可以启动系统上的其他可执行程序进程通信:通过标准输入、输出和错误流与子进程通信进程控制:可以终止、杀死或等待进程完成状态监控:能够检测进程的运行状态和退出状态二、常用方法2.1进程控制start():启动一个进程startD
android.support.v7.widget.RecyclerView$SavedState cannot be cast to android.widget.AbsListView$Sa...
Mis丶H
全部错误信息:java.lang.RuntimeException:UnabletostartactivityComponentInfo{com.enhance.greapp/com.kaomanfen.enhance.gre3k.activity.QuestionWordActivity}:java.lang.ClassCastException:android.support.v7.widge
VirtualBox网络配置深度解析:端口冲突与NAT地址分配机制
一、端口转发冲突的本质当两个虚拟机使用相同的端口转发规则(如主机端口2222映射到虚拟机22端口)时:抢占机制:第一个启动的虚拟机成功绑定主机端口后续虚拟机启动时将触发端口冲突错误VBoxManagestartvm"VM2"#报错:Port2222isalreadyinuse连接行为分析:运行状态SSH连接结果技术原理双机同时运行仅连接至先启动的虚拟机端口被首个虚拟机进程独占仅VM1运行成功连接V
Oracle启动
八戒只有一个
1.登录登录linux系统,切换到oracle用户#suoracle2.连接$cd$ORACLE_HOME/bin$sqlplus/nolog3.使用管理员权限>conn/assysdba4.启动服务>startup5.退出>quit6.启动监听$lsnrctlstart---------------------作者:Anniesama来源:CSDN原文:https://blog.csdn.net
Spring Boot自动装配深度解析:从源码到面试的完整指南
weixin_54726354
springbootspringboot面试后端
序章:一场关于自动装配的面试对话面试官:小王,你能跟我聊聊SpringBoot的自动装配吗?这可是SpringBoot的核心特性啊!候选人:当然可以!SpringBoot的自动装配就像是一个贴心的管家,它会根据你项目里的依赖自动帮你配置好各种Bean,比如你加了spring-boot-starter-web,它就自动给你配置好Tomcat、DispatcherServlet这些…面试官:不错不错,
Linux部署Milvus数据库及Attu UI工具完全指南
一、准备工作1.1环境要求操作系统:Ubuntu20.04/Debian11/CentOS7+硬件配置:至少8GB内存,4核CPU,50GB磁盘空间网络要求:可访问互联网(用于拉取Docker镜像)1.2安装Docker和DockerCompose1.2.1安装Dockersudoapt-getupdatesudoapt-getinstall-ydocker.iosudosystemctlstar
Maven
Array_06
eclipsejdkmaven
Maven
Maven是基于项目对象模型(POM), 信息来管理项目的构建,报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司
ibatis的queyrForList和queryForMap区别
bijian1013
javaibatis
一.说明
iBatis的返回值参数类型也有种:resultMap与resultClass,这两种类型的选择可以用两句话说明之:
1.当结果集列名和类的属性名完全相对应的时候,则可直接用resultClass直接指定查询结果类
LeetCode[位运算] - #191 计算汉明权重
Cwind
java位运算LeetCodeAlgorithm题解
原题链接:#191 Number of 1 Bits
要求:
写一个函数,以一个无符号整数为参数,返回其汉明权重。例如,‘11’的二进制表示为'00000000000000000000000000001011', 故函数应当返回3。
汉明权重:指一个字符串中非零字符的个数;对于二进制串,即其中‘1’的个数。
难度:简单
分析:
将十进制参数转换为二进制,然后计算其中1的个数即可。
“
浅谈java类与对象
15700786134
java
java是一门面向对象的编程语言,类与对象是其最基本的概念。所谓对象,就是一个个具体的物体,一个人,一台电脑,都是对象。而类,就是对象的一种抽象,是多个对象具有的共性的一种集合,其中包含了属性与方法,就是属于该类的对象所具有的共性。当一个类创建了对象,这个对象就拥有了该类全部的属性,方法。相比于结构化的编程思路,面向对象更适用于人的思维
linux下双网卡同一个IP
被触发
linux
转自:
http://q2482696735.blog.163.com/blog/static/250606077201569029441/
由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。网上找了下,发现相同的问题不少:
一、
关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。当时没有怎么思考、以为是生成树
安卓按主页键隐藏程序之后无法再次打开
肆无忌惮_
安卓
遇到一个奇怪的问题,当SplashActivity跳转到MainActivity之后,按主页键,再去打开程序,程序没法再打开(闪一下),结束任务再开也是这样,只能卸载了再重装。而且每次在Log里都打印了这句话"进入主程序"。后来发现是必须跳转之后再finish掉SplashActivity
本来代码:
// 销毁这个Activity
fin
通过cookie保存并读取用户登录信息实例
知了ing
JavaScripthtml
通过cookie的getCookies()方法可获取所有cookie对象的集合;通过getName()方法可以获取指定的名称的cookie;通过getValue()方法获取到cookie对象的值。另外,将一个cookie对象发送到客户端,使用response对象的addCookie()方法。
下面通过cookie保存并读取用户登录信息的例子加深一下理解。
(1)创建index.jsp文件。在改
JAVA 对象池
矮蛋蛋
javaObjectPool
原文地址:
http://www.blogjava.net/baoyaer/articles/218460.html
Jakarta对象池
☆为什么使用对象池
恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。Jakarta Commons Pool组件提供了一整套用于实现对象池化
ArrayList根据条件+for循环批量删除的方法
alleni123
java
场景如下:
ArrayList<Obj> list
Obj-> createTime, sid.
现在要根据obj的createTime来进行定期清理。(释放内存)
-------------------------
首先想到的方法就是
for(Obj o:list){
if(o.createTime-currentT>xxx){
阿里巴巴“耕地宝”大战各种宝
百合不是茶
平台战略
“耕地保”平台是阿里巴巴和安徽农民共同推出的一个 “首个互联网定制私人农场”,“耕地宝”由阿里巴巴投入一亿 ,主要是用来进行农业方面,将农民手中的散地集中起来 不仅加大农民集体在土地上面的话语权,还增加了土地的流通与 利用率,提高了土地的产量,有利于大规模的产业化的高科技农业的 发展,阿里在农业上的探索将会引起新一轮的产业调整,但是集体化之后农民的个体的话语权 将更少,国家应出台相应的法律法规保护
Spring注入有继承关系的类(1)
bijian1013
javaspring
一个类一个类的注入
1.AClass类
package com.bijian.spring.test2;
public class AClass {
String a;
String b;
public String getA() {
return a;
}
public void setA(Strin
30岁转型期你能否成为成功人士
bijian1013
成功
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
[Velocity三]基于Servlet+Velocity的web应用
bit1129
velocity
什么是VelocityViewServlet
使用org.apache.velocity.tools.view.VelocityViewServlet可以将Velocity集成到基于Servlet的web应用中,以Servlet+Velocity的方式实现web应用
Servlet + Velocity的一般步骤
1.自定义Servlet,实现VelocityViewServl
【Kafka十二】关于Kafka是一个Commit Log Service
bit1129
service
Kafka is a distributed, partitioned, replicated commit log service.这里的commit log如何理解?
A message is considered "committed" when all in sync replicas for that partition have applied i
NGINX + LUA实现复杂的控制
ronin47
lua nginx 控制
安装lua_nginx_module 模块
lua_nginx_module 可以一步步的安装,也可以直接用淘宝的OpenResty
Centos和debian的安装就简单了。。
这里说下freebsd的安装:
fetch http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
ma
java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字
bylijinnan
java
public class TwoElementEqualSum {
/**
* 第 14 题:
题目:输入一个已经按升序排序过的数组和一个数字,
在数组中查找两个数,使得它们的和正好是输入的那个数字。
要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。
例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于
Netty源码学习-HttpChunkAggregator-HttpRequestEncoder-HttpResponseDecoder
bylijinnan
javanetty
今天看Netty如何实现一个Http Server
org.jboss.netty.example.http.file.HttpStaticFileServerPipelineFactory:
pipeline.addLast("decoder", new HttpRequestDecoder());
pipeline.addLast(&quo
java敏感词过虑-基于多叉树原理
cngolon
违禁词过虑替换违禁词敏感词过虑多叉树
基于多叉树的敏感词、关键词过滤的工具包,用于java中的敏感词过滤
1、工具包自带敏感词词库,第一次调用时读入词库,故第一次调用时间可能较长,在类加载后普通pc机上html过滤5000字在80毫秒左右,纯文本35毫秒左右。
2、如需自定义词库,将jar包考入WEB-INF工程的lib目录,在WEB-INF/classes目录下建一个
utf-8的words.dict文本文件,
多线程知识
cuishikuan
多线程
T1,T2,T3三个线程工作顺序,按照T1,T2,T3依次进行
public class T1 implements Runnable{
@Override
 
spring整合activemq
dalan_123
java spring jms
整合spring和activemq需要搞清楚如下的东东1、ConnectionFactory分: a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接 b、真正产生到JMS服务器链接的ConnectionFactory还得
MySQL时间字段究竟使用INT还是DateTime?
dcj3sjt126com
mysql
环境:Windows XPPHP Version 5.2.9MySQL Server 5.1
第一步、创建一个表date_test(非定长、int时间)
CREATE TABLE `test`.`date_test` (`id` INT NOT NULL AUTO_INCREMENT ,`start_time` INT NOT NULL ,`some_content`
Parcel: unable to marshal value
dcj3sjt126com
marshal
在两个activity直接传递List<xxInfo>时,出现Parcel: unable to marshal value异常。 在MainActivity页面(MainActivity页面向NextActivity页面传递一个List<xxInfo>): Intent intent = new Intent(this, Next
linux进程的查看上(ps)
eksliang
linux pslinux ps -llinux ps aux
ps:将某个时间点的进程运行情况选取下来
转载请出自出处:http://eksliang.iteye.com/admin/blogs/2119469
http://eksliang.iteye.com
ps 这个命令的man page 不是很好查阅,因为很多不同的Unix都使用这儿ps来查阅进程的状态,为了要符合不同版本的需求,所以这个
为什么第三方应用能早于System的app启动
gqdy365
System
Android应用的启动顺序网上有一大堆资料可以查阅了,这里就不细述了,这里不阐述ROM启动还有bootloader,软件启动的大致流程应该是启动kernel -> 运行servicemanager 把一些native的服务用命令启动起来(包括wifi, power, rild, surfaceflinger, mediaserver等等)-> 启动Dalivk中的第一个进程Zygot
App Framework发送JSONP请求(3)
hw1287789687
jsonp跨域请求发送jsonpajax请求越狱请求
App Framework 中如何发送JSONP请求呢?
使用jsonp,详情请参考:http://json-p.org/
如何发送Ajax请求呢?
(1)登录
/***
* 会员登录
* @param username
* @param password
*/
var user_login=function(username,password){
// aler
发福利,整理了一份关于“资源汇总”的汇总
justjavac
资源
觉得有用的话,可以去github关注:https://github.com/justjavac/awesome-awesomeness-zh_CN 通用
free-programming-books-zh_CN 免费的计算机编程类中文书籍
精彩博客集合 hacke2/hacke2.github.io#2
ResumeSample 程序员简历
用 Java 技术创建 RESTful Web 服务
macroli
java编程WebREST
转载:http://www.ibm.com/developerworks/cn/web/wa-jaxrs/
JAX-RS (JSR-311) 【 Java API for RESTful Web Services 】是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松。这个 API 提供了一种基于注释的模型来描述分布式资源。注释被用来提供资源的位
CentOS6.5-x86_64位下oracle11g的安装详细步骤及注意事项
超声波
oraclelinux
前言:
这两天项目要上线了,由我负责往服务器部署整个项目,因此首先要往服务器安装oracle,服务器本身是CentOS6.5的64位系统,安装的数据库版本是11g,在整个的安装过程中碰到很多的坑,不过最后还是通过各种途径解决并成功装上了。转别写篇博客来记录完整的安装过程以及在整个过程中的注意事项。希望对以后那些刚刚接触的菜鸟们能起到一定的帮助作用。
安装过程中可能遇到的问题(注
HttpClient 4.3 设置keeplive 和 timeout 的方法
supben
httpclient
ConnectionKeepAliveStrategy kaStrategy = new DefaultConnectionKeepAliveStrategy() {
@Override
public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
long keepAlive
Spring 4.2新特性-@Import注解的升级
wiselyman
spring 4
3.1 @Import
@Import注解在4.2之前只支持导入配置类
在4.2,@Import注解支持导入普通的java类,并将其声明成一个bean
3.2 示例
演示java类
package com.wisely.spring4_2.imp;
public class DemoService {
public void doSomethin