在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ Java問答
冷咖啡 回答

$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ā)加鎖操作。

悶油瓶 回答

思路1: 把配置文件放到外層

這個你已經(jīng)說了。但是以下缺點(diǎn)

  1. 配置文件遠(yuǎn)離使用它的模塊,要找的時候不太好找。

  2. 如果新增了一個模塊,開發(fā)人員又忘記在外層conf里補(bǔ)充相關(guān)文件,項目就會啟動不起來了。

思路2:利用maven在打包時將配置文件合并

配置還是在模塊的源代碼里,但是這里的配置文件只是一個模板,沒有具體值,項目啟動的時候會讀取此路徑里的配置文件。

然后在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

孤酒 回答

clipboard.png
設(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。