$str = '1234567890';
$pattern = "/(\d{3})(\d{3})(\d{4})/";
echo preg_replace($pattern,"\${1}-\${2}-\${3}",$str);
123-456-7890
MVSC => 比傳統(tǒng)的 MVC 多一層 Service 層,主要用于放業(yè)務(wù)邏輯。
M 跟數(shù)據(jù)庫打交道
V 跟視圖打交道
C 控制接收參數(shù),輸出數(shù)據(jù)
S 負(fù)責(zé)業(yè)務(wù)邏輯。
我寫php的,不知道java是怎么實現(xiàn)的
目前代替方案:
public void clearAuthByUserId(String uid,Boolean author, Boolean out){
//獲取所有session
Collection<Session> sessions = redisSessionDAO.getActiveSessions();
for (Session session:sessions){
//獲取session登錄信息。
Object obj = session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
if(obj instanceof SimplePrincipalCollection){
//強(qiáng)轉(zhuǎn)
SimplePrincipalCollection spc = (SimplePrincipalCollection)obj;
SysUser user = new SysUser();
BeanUtils.copyProperties(spc.getPrimaryPrincipal(),user);
//判斷用戶,匹配用戶ID。
if(uid.equals(user.getId())){
if(author)
this.clearCachedAuthorizationInfo(spc);
if(out){
redisSessionDAO.delete(session);
}
}
}
}
}..............
‘1’ != 1
‘2’ != 2
‘3’ != 3
(1)10 = (1)2
(2)10 = (10)2
(3)10 = (11)2
char占一字節(jié)
32位int占四字節(jié)
我在好奇你怎么在用swing和awt包下的?
可能是端口被占用的原因,直接在任務(wù)管理中kill。如果下次還是不能正常關(guān)閉,在service.xml 修改下端口。
google了下不出意外應(yīng)該是這個端口被占用了:
<Server port="8005" shutdown="SHUTDOWN">cpu占用率高應(yīng)該是比較好定位的問題,可以用jdk提供的幾個工具,比如jstack、jvisualvm等去獲取此進(jìn)程的thread dump,thread dump里會包含每個線程的調(diào)用棧,可以看出哪個線程在忙,然后有針對性的去調(diào)試或檢視代碼。
獲取thread dump的詳細(xì)方法,可以參考:
https://access.redhat.com/sol...
你可以找一個wordpress,配著配著就完事了。
兩個kafka實例的server.properties中的broker.id是否重復(fù)了?
因為一旦singletonLazy被正確初始化以后,每次訪問null == singletonLazy一定能夠得到false從而不會重新初始化。但是我們無需每次都通過上鎖來判斷null == singletonLazy。所以雙重鎖的目的是為了成功初始化singletonLazy之后不再觸發(fā)加鎖操作。
@RequestMapping 注解增加 method = RequestMethod.POST
這個你已經(jīng)說了。但是以下缺點(diǎn)
配置文件遠(yuǎn)離使用它的模塊,要找的時候不太好找。
如果新增了一個模塊,開發(fā)人員又忘記在外層conf里補(bǔ)充相關(guān)文件,項目就會啟動不起來了。
配置還是在模塊的源代碼里,但是這里的配置文件只是一個模板,沒有具體值,項目啟動的時候會讀取此路徑里的配置文件。
然后在aggregator項目(比如war包)的pom.xml里做一些配置,讓maven在打包時將各個jar包里的配置文件合并起來,形成一個完整的配置文件。
你可以對這個完整的配置文件形成幾個版本:開發(fā)、生產(chǎn)、測試,放到vcs里管理起來。
比如下面的代碼:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<configuration>
<artifactItems>
<artifactItem>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>target/assembly-tmp</outputDirectory>
<includes>application-xxx.properties</includes>
</artifactItem>
...
</artifactItems>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>unpack</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<configuration>
<target>
<concat destfile="${project.build.directory}/assembly-tmp/application.properties" force="yes">
<fileset dir="${project.build.directory}">
<include name="assembly-tmp/application-*.properties"></include>
</fileset>
</concat>
</target>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptor>settings.xml</descriptor>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>可以考慮寫一個輔助函數(shù)
int find(int id, List<User> list){
int res = -1;
for(int i = 0; i < list.size(); i ++){
if (list.get(i).id == id){
res = i;
break;
}
}
return res;
}
然后使用stream簡化操作
List<User> list = list2.stream()
.filter(user -> find(user.id, list1) > -1)
.collect(Collectors.toList());swagger 2只能使用httpstaus相關(guān)的 code,例如500,200這些,要想識別自定義的狀態(tài)碼,請使用swagger 1
設(shè)置分享的時候是可以設(shè)置頁面路徑的,那個路徑就是點(diǎn)擊分享之后進(jìn)入的頁面。
javascript是沒有塊級作用域的,也就是說你在if語句內(nèi)return和你在if語句外return是一樣的,所以本質(zhì)上是return導(dǎo)致了其后的代碼不再執(zhí)行了,希望能幫到你
官方用的是Thymeleaf,但是現(xiàn)在都流行前后端分離了,模版引擎沒那么重要了吧
ExecutorService 沒有關(guān)閉,調(diào)用shutdown 方法,和 Future 沒有關(guān)系
str.replace(/(.)(.*)/,(_, $1, $2) => $1 + '*'.repeat($2.length))
/**
* @param {Object} option - foo
* @param {String} option.name - bar
* @param {Number} option.age - baz
*/
function bar({name,age}) {
return {name, age}
}不需要,我們這里的接口是同一套,前后端交換JSON。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。