微信瀏覽器提示嗎?如果是的話那是因?yàn)槟銈兊木W(wǎng)站需要在微信里面?zhèn)浒?,具體方法可自行百度
謝邀。
單例bean在初始化的時(shí)候,并不會(huì)創(chuàng)建會(huì)話bean,而是創(chuàng)建一個(gè)代理,在單例bean中調(diào)用會(huì)話bean的方法,并不會(huì)直接調(diào)用,而是先調(diào)用代理的方法,再由代理去調(diào)用會(huì)話bean的方法。
所以你的問(wèn)題可以概括為,代理是如何找到會(huì)話bean的。
答案其實(shí)就如你所說(shuō),是通過(guò)線程來(lái)區(qū)分的。準(zhǔn)確一點(diǎn),是通過(guò)Web請(qǐng)求的Context來(lái)查找的。因?yàn)闊o(wú)論是request bean還是session bean,它們都是基于請(qǐng)求的,只是生命期有所不同,而請(qǐng)求一般來(lái)說(shuō)是通過(guò)線程和請(qǐng)求上下文來(lái)區(qū)分的。
至于你說(shuō)的一個(gè)線程可以處理多個(gè)會(huì)話的情況,對(duì)基于線程來(lái)實(shí)現(xiàn)的Web Server來(lái)說(shuō),僅會(huì)發(fā)生在不同請(qǐng)求之間。也就是說(shuō),此時(shí)一個(gè)線程同一時(shí)間僅能處理一個(gè)請(qǐng)求。因此用來(lái)區(qū)分不同的session bean是再好不過(guò)了。
var str = "0.4-0.6"
str.split('-').map(item => 10000 * item).join('-')
// 補(bǔ)整
function change(str) {
var lNum = str.split('-')
var checkB = function (n) {
return n.replace(/0\./,'').length
}
var maxB = Math.max(checkB(lNum[0]), checkB(lNum[1]))
return lNum.map(function (item) {
return item * Math.pow(10, maxB)
}).join('-')
}href值中有" 導(dǎo)致截?cái)嗔?,你插入的時(shí)候?qū)?code>"做下轉(zhuǎn)義。如:
<a >Click me</a>express static
通過(guò) Express 內(nèi)置的 express.static 可以方便地托管靜態(tài)文件,例如圖片、CSS、JavaScript 文件等。
http://www.expressjs.com.cn/s...
原因:浮點(diǎn)數(shù)的精度問(wèn)題。
注意:
向下取整,即:12910.9 會(huì)被轉(zhuǎn)換為 12910
<?php
var_dump(intval(12910.9));
// 輸出
// int(12910)
浮點(diǎn)數(shù)精度
看如下執(zhí)行結(jié)果:
我們知道:$receive_money 值小于 12911
總結(jié):所以,最后 $receive_money 轉(zhuǎn)換為整型時(shí),向下取整,結(jié)果為:12910
參考:
這是由于浮點(diǎn)數(shù)的二進(jìn)制表示形式?jīng)Q定的。
看如下示例:
我們看到第 9 行代碼 float(12911) 擴(kuò)展整數(shù)位之后,轉(zhuǎn)換成整型表示:int(129109999)。
然后,我們對(duì)比了 float(12911) 跟 int(12911) 在二進(jìn)制上的差別。
是不是發(fā)現(xiàn)了什么?(二進(jìn)制的最后一位)這是 PHP-bug 么?當(dāng)然不是。
而且我們同樣也注意到了第 8 行代碼輸出結(jié)果為:float(129110000),這又是為什么呢?
為什么不是 float(129109999)呢?
我們看一下 PHP 源碼中浮點(diǎn)數(shù)是什么:
如圖:php-float 等于 c-double
我想如下幾個(gè)問(wèn)題可以解決上述的疑問(wèn):雙精度浮點(diǎn)數(shù) 的二進(jìn)制形式是如何表示的呢? 請(qǐng)參考:wikipedia-雙精度浮點(diǎn)數(shù)
浮點(diǎn)數(shù)是如何處理乘法運(yùn)算的呢? 請(qǐng)參考:wikipedia-浮點(diǎn)數(shù)的乘法和除法
如果上邊兩個(gè)問(wèn)題不愿深究,可以直接參考鳥(niǎo)哥的一篇博客:PHP浮點(diǎn)數(shù)的一個(gè)常見(jiàn)問(wèn)題的解答
以上為個(gè)人理解,如果錯(cuò)誤之處,請(qǐng)指出。
let reg = /^0(\.0(0\d*|10*)?)?$/
https://c.runoob.com/front-en... 可以在這里測(cè)試正則
我也是執(zhí)行兩次,請(qǐng)問(wèn)解決了么?
js執(zhí)行的過(guò)程中,又不是所有的代碼都是js實(shí)現(xiàn)的,書(shū)上講的是底層實(shí)現(xiàn)。
你現(xiàn)在把new的過(guò)程用call解釋了,那你用什么js代碼去解釋call的實(shí)現(xiàn)呢?
(1)在內(nèi)存中開(kāi)辟了一塊區(qū)域。
(2)this指向這塊區(qū)域地址。
(3)操作這個(gè)區(qū)域。
(4)返回這個(gè)區(qū)域地址。
不會(huì)。
但是你這涉嫌掛羊頭賣狗肉,你通過(guò)審核的是備案過(guò)的,不知道小程序像不像工信部會(huì)定期查備案,如果定期查的話,你這有風(fēng)險(xiǎn)
你可以試試?yán)妹钐崾痉幾g運(yùn)行一個(gè).java文件如果成功那么你的JDK是沒(méi)問(wèn)題的,出問(wèn)題的是Tomcat,Tomcat目前好像不兼容Java9,真實(shí)項(xiàng)目里應(yīng)該也沒(méi)人敢用Java9。解決方案,經(jīng)過(guò)上述判斷如果是Tomcat的問(wèn)題那么你可以試試更新你的Tomcat如果官網(wǎng)有發(fā)布新版本的話,你可以讀讀新版本的更新摘要是否兼容Java9.
應(yīng)該是你表面只修改了一條數(shù)據(jù),實(shí)際上修改了多條,導(dǎo)致最終結(jié)果與程序預(yù)期的不一致而報(bào)錯(cuò)
/*
* Amount2RMB.java 2008-6-15
*/
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Amount2RMB {
private static final Pattern AMOUNT_PATTERN =
Pattern.compile("^(0|[1-9]\\d{0,11})\\.(\\d\\d)$"); // 不考慮分隔符的正確性
private static final char[] RMB_NUMS = "零壹貳叁肆伍陸柒捌玖".toCharArray();
private static final String[] UNITS = {"元", "角", "分", "整"};
private static final String[] U1 = {"", "拾", "佰", "仟"};
private static final String[] U2 = {"", "萬(wàn)", "億"};
/**
* 將金額(整數(shù)部分等于或少于12位,小數(shù)部分2位)轉(zhuǎn)換為中文大寫(xiě)形式.
* @param amount 金額數(shù)字
* @return 中文大寫(xiě)
* @throws IllegalArgumentException
*/
public static String convert(String amount) throws IllegalArgumentException {
// 去掉分隔符
amount = amount.replace(",", "");
// 驗(yàn)證金額正確性
if (amount.equals("0.00")) {
throw new IllegalArgumentException("金額不能為零.");
}
Matcher matcher = AMOUNT_PATTERN.matcher(amount);
if (! matcher.find()) {
throw new IllegalArgumentException("輸入金額有誤.");
}
String integer = matcher.group(1); // 整數(shù)部分
String fraction = matcher.group(2); // 小數(shù)部分
String result = "";
if (! integer.equals("0")) {
result += integer2rmb(integer) + UNITS[0]; // 整數(shù)部分
}
if (fraction.equals("00")) {
result += UNITS[3]; // 添加[整]
} else if (fraction.startsWith("0") && integer.equals("0")) {
result += fraction2rmb(fraction).substring(1); // 去掉分前面的[零]
} else {
result += fraction2rmb(fraction); // 小數(shù)部分
}
return result;
}
// 將金額小數(shù)部分轉(zhuǎn)換為中文大寫(xiě)
private static String fraction2rmb(String fraction) {
char jiao = fraction.charAt(0); // 角
char fen = fraction.charAt(1); // 分
return (RMB_NUMS[jiao - '0'] + (jiao > '0' ? UNITS[1] : ""))
+ (fen > '0' ? RMB_NUMS[fen - '0'] + UNITS[2] : "");
}
// 將金額整數(shù)部分轉(zhuǎn)換為中文大寫(xiě)
private static String integer2rmb(String integer) {
StringBuilder buffer = new StringBuilder();
// 從個(gè)位數(shù)開(kāi)始轉(zhuǎn)換
int i, j;
for (i = integer.length() - 1, j = 0; i >= 0; i--, j++) {
char n = integer.charAt(i);
if (n == '0') {
// 當(dāng)n是0且n的右邊一位不是0時(shí),插入[零]
if (i < integer.length() - 1 && integer.charAt(i + 1) != '0') {
buffer.append(RMB_NUMS[0]);
}
// 插入[萬(wàn)]或者[億]
if (j % 4 == 0) {
if (i > 0 && integer.charAt(i - 1) != '0'
|| i > 1 && integer.charAt(i - 2) != '0'
|| i > 2 && integer.charAt(i - 3) != '0') {
buffer.append(U2[j / 4]);
}
}
} else {
if (j % 4 == 0) {
buffer.append(U2[j / 4]); // 插入[萬(wàn)]或者[億]
}
buffer.append(U1[j % 4]); // 插入[拾]、[佰]或[仟]
buffer.append(RMB_NUMS[n - '0']); // 插入數(shù)字
}
}
return buffer.reverse().toString();
}
public static void main(String[] args) {
// log4j?
System.out.println("壹萬(wàn)陸仟肆佰零玖元零貳分".equals(convert("16,409.02")));
System.out.println("壹仟肆佰零玖元伍角".equals(convert("1,409.50")));
System.out.println("陸仟零柒元壹角肆分".equals(convert("6,007.14")));
System.out.println("壹仟陸佰捌拾元叁角貳分".equals(convert("1,680.32")));
System.out.println("叁佰貳拾伍元零肆分".equals(convert("325.04")));
System.out.println("肆仟叁佰貳拾壹元整".equals(convert("4,321.00")));
System.out.println("壹分".equals(convert("0.01")));
System.out.println(convert("1234,5678,9012.34")
.equals("壹仟貳佰叁拾肆億伍仟陸佰柒拾捌萬(wàn)玖仟零壹拾貳元叁角肆分"));
System.out.println(convert("1000,1000,1000.10")
.equals("壹仟億零壹仟萬(wàn)零壹仟元壹角"));
System.out.println(convert("9009,9009,9009.99")
.equals("玖仟零玖億玖仟零玖萬(wàn)玖仟零玖元玖角玖分"));
System.out.println(convert("5432,0001,0001.01")
.equals("伍仟肆佰叁拾貳億零壹萬(wàn)零壹元零壹分"));
System.out.println(convert("1000,0000,1110.00")
.equals("壹仟億零壹仟壹佰壹拾元整"));
System.out.println(convert("1010,0000,0001.11")
.equals("壹仟零壹拾億零壹元壹角壹分"));
System.out.println(convert("1000,0000,0000.01")
.equals("壹仟億元零壹分"));
}
}
1樓的回答只是幫您解決了問(wèn)題,我來(lái)幫您捋一下該問(wèn)題出現(xiàn)的原因。其實(shí)是涉及到了js函數(shù)作用域的問(wèn)題。
$(function(){});是一個(gè)匿名函數(shù),func1是在這個(gè)匿名函數(shù)里聲明的,所以只有在這個(gè)匿名函數(shù)里面可以訪問(wèn)到。而你在a標(biāo)簽中【onclick = "func1()"】這樣寫(xiě)的話,表明是要調(diào)用window上的func1,但是window上沒(méi)有聲明func1函數(shù),所以提示你func1 is not defined(找不到)。
關(guān)于作用域的知識(shí)請(qǐng)點(diǎn)擊這里
您還可以點(diǎn)擊這里了解更多前端的重點(diǎn)知識(shí),我也正在看,寫(xiě)得很不錯(cuò)的文章。
希望我的回答能幫助到您^_^
謝邀
List<Integer> list1 = new ArrayList<Integer>();
list1.addAll(Arrays.asList(new Integer[]{1,2,3,4,5,6}));
List<Integer> list2 = new ArrayList<Integer>();
list2.addAll(Arrays.asList(new Integer[]{3,5,6}));
for(Integer var2 : list2){
for(Integer var1 : list1){
if(var2.equals(var1)){
System.out.println("do something");
}
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.UUID;
public class Test {
public static void main(String[] args) throws Exception {
//對(duì)象
List<Model> list1 = new ArrayList<Model>();
list1.add(new Model(1,"11"));
list1.add(new Model(2,"33"));
list1.add(new Model(3,"33"));
List<Model> list2 = new ArrayList<Model>();
list2.add(new Model(1,"11"));
list2.add(new Model(2,"33"));
list2.add(new Model(3,"33"));
for(Model m2 : list2){
for(Model m1 : list1){
if(m1.getAttr2().equals(m2.getAttr2())){
System.out.println("do something");
}
}
}
/**可以簡(jiǎn)單封裝下,寫(xiě)一個(gè)通用的流程,這里使用Comparator接口**/
//使用通用的方法 Object
compareSomething(list1,list2,new Comparator<Model>() {
@Override
public int compare(Model o1,Model o2) {
return o1.getAttr2().compareTo(o2.getAttr2());
}
});
//使用通用的方法 Integer
List<Integer> list3 = new ArrayList<Integer>();
list3.addAll(Arrays.asList(new Integer[]{1,2,3,4,5,6}));
List<Integer> list4 = new ArrayList<Integer>();
list4.addAll(Arrays.asList(new Integer[]{3,5,6}));
compareSomething(list3,list4,new Comparator<Integer>() {
@Override
public int compare(Integer o1,Integer o2) {
return o1.compareTo(o2);
}
});
}
public static <T> void compareSomething(List<T> list1,List<T> list2,Comparator<T> compare){
for(T m2 : list2){
for(T m1 : list1){
if(0 == compare.compare(m1, m2)){
System.out.println("do something");
}
}
}
}
}
class Model{
private Integer attr1 = 1;
private String attr2 = UUID.randomUUID().toString();
public Model(){
}
public Model(Integer attr1,String attr2){
this.attr1 = attr1;
this.attr2 = attr2;
}
public Integer getAttr1() {
return attr1;
}
public void setAttr1(Integer attr1) {
this.attr1 = attr1;
}
public String getAttr2() {
return attr2;
}
public void setAttr2(String attr2) {
this.attr2 = attr2;
}
}
你的意思是在5秒內(nèi)不停執(zhí)行a,b,c,d中的一個(gè),然后下一個(gè)5秒又隨機(jī)換一個(gè),不停循環(huán)?
這個(gè)一般控制一些展示效果,要求a,b,c,d等均能隨便打斷,且又可以進(jìn)入。
fns=[a,b,c,d];
t=5*1000;
while(true){
var datein=Date().now();
fn=fns[ Math.floor(Math.random()*4) ];
while(Date.now()-datein < t){
(fn)();
}
}模塊大概沒(méi)什么密集型,但我猜你要問(wèn)的,是IO。
可能是 devtool 熱部署不支持resource文件夾更新,我重啟服務(wù)器就好了。
根據(jù)《Effect Java》第二版總結(jié):
異常分為:
運(yùn)行時(shí)異常和錯(cuò)誤都是不需要也不應(yīng)該被捕獲的可拋出結(jié)構(gòu)。如果程序拋出運(yùn)行時(shí)異常或者錯(cuò)誤,說(shuō)明出現(xiàn)了不可恢復(fù)的情形,繼續(xù)執(zhí)行下去有害無(wú)益。如果沒(méi)有捕捉到這樣的結(jié)構(gòu),將會(huì)導(dǎo)致當(dāng)前線程停止,并出現(xiàn)適當(dāng)?shù)腻e(cuò)誤消息。
使用原則:
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。