連續(xù)的意思是上一個字符和下一個字符的ascii值相差1,并且連續(xù)出現(xiàn)4次和以上。這個貌似c語言作業(yè)...
java代碼:
String str = "12345678abcABCDefghijk9874321YXWV321";
char f=str.charAt(0);
int count = 0;
for(int i=1 ; i < str.length(); ++i) {
char c = str.charAt(i);
if(c-f == 1 || f-c==1) {
++count;
}else {
if(count >= 3) {
System.out.println( str.substring( i-count-1 ,i) ) ;
}
count = 0;
}
f=c;
}controller 使用@RestController 或@ResponseBody 注解了,返回的對象就是個json 額 返回的字符串放到json格式器驗證一下
step into會進入你自己寫的方法。
而force step into能夠進入所有的方法,比如jdk的方法。
隨便寫一個試一下就知道了,如下圖:
step into就會直接過去。
而force step into就能進到substring方法中。
你的 @Resource(name="d1") 指定了 bean 的 name 為 d1,這樣在注入的 bean 的時候就回去尋找Datasource 類的名為 d1 的實現(xiàn),然而發(fā)現(xiàn) ioc 容器內(nèi)并沒有這個 bean。
現(xiàn)在有兩種辦法:
一是直接去掉 name=d1 的指定,改寫為 @Resource,這樣就會根據(jù)類型去匹配;
二是在聲明 bean 的時候,指定這個 bean 的 name 為 d1,如 @Bean(name="d1")
我記得默認使用 @Bean 注解生成的 bean 的名稱和方法名同名,也就是你可以
@bean
Datasource d1(){
DruidDataSource d1 = new DruidDataSource();
...
return d1;
}加鎖,當有一個用戶在操作時,其它用戶不能操作。
我也遇到了,從網(wǎng)上找到了一個解決方法。 https://blog.csdn.net/lnktoki...
解決了,是pom配置有問題
可以看看這個java8的系列教程 : https://github.com/itguang/java8
你想寫一個通訊程序,可以先試在在普通java工程中寫好,再移植到android工程上。
這是官方指導文檔
https://docs.oracle.com/javas...
也可以看看別的代碼參考下。如http://cs.lmu.edu/~ray/notes/...
你這段代碼的主要問題在你使用的Scanner,Sacnner在讀取流的時候不會主動刷新。
客戶端發(fā)過來的數(shù)據(jù),始終在緩沖區(qū)中,當tcp鏈接異常關閉時才會被刷新。
如果服務段相關讀取數(shù)據(jù)替換成下面這樣,可以正常顯示客戶端發(fā)過來的數(shù)據(jù)。
int len = in.available();
byte [] bys =new byte[len];
int readbytes = in.read(bys);
if(readbytes!=0)
{
String res= new String(bys);
System.out.println(res);
}
問題1與問題2,因為調(diào)用client.shutdownOutputStream()后,tcp會出送rst包。收到rst包的服務器端,會丟棄緩沖區(qū)的數(shù)據(jù)。如果不調(diào)用,tcp會發(fā)送fin包,服務器收到fin包,知道要結(jié)束了,于是主動刷新Scanner,準備退出。
不能用127.0.0.1,php對于你來說已經(jīng)是另一臺電腦了,不是本機,你需要進docker查看容器的ip是多少。
還有一種方案就是nginx也做成容器,然后把php的容器關聯(lián)進nginx的容器,這樣就可以設置php容器的別名,你也不需要每次啟動容器去改ip了
試試xlsxwriter這個庫,可以實現(xiàn)你的需求。
不是。channel只是用來與隊列交互的一個東西,不能直接操作隊列。
在channel上訂閱指定的隊列消息
通過channel帶上routingKey發(fā)送到指定的exchange,exchange上根據(jù)routingKey綁定queue來決定發(fā)送到什么隊列
獲取時長:
var audio = document.createElement('audio');
audio.src = 'www.baidu.com';
audio.addEventListener("canplay", function(){
var sc=parseInt(document.getElementById('audio1').duration);
});
獲取大小沒試過,依照樓上的試試看
已搞定,hibernate validation已經(jīng)針對這個做了方法級別校驗,包括參數(shù),構(gòu)造方法,返回值等校驗
可以參考官方文檔:
https://docs.jboss.org/hibern...
Validating method constraints小節(jié)
@PostMapping("/valid")
public Map valid(@NotBlank String email) {...}
統(tǒng)一做AOP處理,
@Component
@Aspect
public class RequestParamValidAspect {
@Pointcut("execution(* site.sixteen.validation.web.*.*(..))")
public void controllerBefore() {
}
@Before("controllerBefore()")
public void before(JoinPoint point) {
Object target = point.getThis();
// 獲得切入方法參數(shù)
Object[] args = point.getArgs();
// 獲得切入的方法
Method method = ((MethodSignature) point.getSignature()).getMethod();
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
ExecutableValidator executableValidator = factory.getValidator().forExecutables();
// 執(zhí)行校驗,獲得校驗結(jié)果
Set<ConstraintViolation<Object>> validResult = executableValidator.validateParameters(target, method, args);
//如果有校驗不通過的
if (!validResult.isEmpty()) {
}
//返回第一條
}
}
debug運行會看到validResult會有相應的校驗結(jié)果
果然,這種東西應該是存在的,我就納悶為什么會有Java Bean校驗,反而沒有基本類型參數(shù)校驗,還想著要不要自己去弄一個,忒麻煩勒。
不懂得可以加我QQ:1016593477 一起探討
你好,Restful API是一種設計風格,并不是強制的標準
我們可以對比一下傳統(tǒng)與其的寫法
傳統(tǒng)寫法:
查詢 /user/query?name=tom GET
詳情 /user/getInfo?id=1 GET
創(chuàng)建 /user/create?name=tom GET
修改 /user/update?id=1&name=jerry POST
刪除 /user/delete?id=1 GET
RESTful寫法
查詢 /user?name=tom GET
詳情 /user/1 GET
創(chuàng)建 /user POST
修改 /user/1 PUT
刪除 /user/1 DELETE
關于Restful API的幾點說法
1、用URL描述資源
2、使用HTTP方法描述行為,使用HTTP狀態(tài)碼來表示不同的結(jié)果
3、使用json交互數(shù)據(jù)
4、RESTful只是一種風格,并不是強制的標準
官方也有一個模型:
Level 0 :使用Http作為傳輸方式
Level 1 :引入資源概念,每個資源都有對應的URL
Level 2 :使用HTTP方法進行不同的操作,使用HTTP狀態(tài)碼來表示不同的結(jié)果
Level 3 :使用超媒體,在資源的表達中包含了鏈接信息
類似SpringMVC中開發(fā)Restful API,一個查詢請求:
——編寫針對RestfulAPI的測試用例
——使用注解聲明RestfulAPI
——在Restful API中傳遞參數(shù)
常用注解
——@RestController 標明此Controller提供RestAPI
——@RequestMapping及其變體,映射http請求url到java方法
——@RequestParam映射請求參數(shù)到java方法的參數(shù)
——@PageableDefault指定分頁參數(shù)默認值
而對于具體返回什么,或者獲取什么,更多的時候要根據(jù)業(yè)務的重點來設計。
spring boot本身就有shutdown hook,你應該先仔細閱讀官方文檔: https://docs.spring.io/spring...
另外kill -9慎用,神仙難救。SIGKILL信號根本不會被程序本身捕獲,而是被內(nèi)核捕獲強行殺死進程,根本不會觸發(fā)程序內(nèi)部的close handler
method 應該用 getDeclaredMethod ,另外你問題解決了嗎
高并發(fā),高可靠架構(gòu)常規(guī)手段
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。