1. 2乘以8的最效率(简便)算法。
2. 有关同步与异步的一些问题。
3. 有关多线程的一些问题。
描述下:我不是想问这些问题的答案,就是想请问下各位你们做Java开发会遇到这样子的问题吗?
例如:java开发会出现让你做2*8的最简便算法?
java的BS架构的程序会不会用到同步异步与多线程的一些情况,都在哪里。
还有如果你们是面试官会让什么人做纸面答题,会让什么人直接聊聊就OK(技术方面)。最后:谢谢各位!
2. 有关同步与异步的一些问题。
3. 有关多线程的一些问题。
描述下:我不是想问这些问题的答案,就是想请问下各位你们做Java开发会遇到这样子的问题吗?
例如:java开发会出现让你做2*8的最简便算法?
java的BS架构的程序会不会用到同步异步与多线程的一些情况,都在哪里。
还有如果你们是面试官会让什么人做纸面答题,会让什么人直接聊聊就OK(技术方面)。最后:谢谢各位!
2<<3 才对吧 。
呵呵。
不过人家说的不是答案,是面试会不会问到,实际会不会用到多线程,同步异步,你深入到项目就会用到的,譬如让你做一个东西,需要启一个线程定时去扫描一部分对像的数据,就会涉及;再或者需要你启动一个多线程同时操作某一部分数据之类;再或者编写代码的时候就要考虑你的对像会不会被同时访问到;譬如SimpleDateFormat的format方法
public StringBuffer format(Date date, StringBuffer toAppendTo,
FieldPosition pos)
{
pos.beginIndex = pos.endIndex = 0;
return format(date, toAppendTo, pos.getFieldDelegate());
}
不是同步的,如果多个人同时调用该方法,就有可能错位;面试官问到的话,你随便说说就能知道你的水平的。
2<<3 是16啊。怎么会等于8?????请补习java基础吧。 不相信的话验证一下啦。 哎~~~~~~
呵呵 是要补基础了在Java项目中,我们通常会自己写一个DateUtil类,处理日期和字符串的转换。如下 public class DateUtil{ private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); public static formatDateToYYYYMMDDStr(Date date){ return sdf.format(date); } public static formatYYYYMMDDStrToDate(String str){ return sdf.parse(str); }} 然而,由于SimpleDateFormat类不是线程安全的,所以在多线程的环境下,往往会出现意想不到的结果。
这些位运算在BS项目中会遇到吗?还有位运算说句实话,做Java开发会遇到这种东西吗?虽然绝大部分的人都会学到,但是老实说我根本没学过数据结构,不会位运算。还有关于多线程和同步异步方面的。
BS项目那些模块或者那些领域中会遇到多线程和同步异步的情况。请举例说一下,谢谢~~~~
各位大大在Java的BS架构开发中有用到位运算吗?
一般用不到的,对吧?有木有?有木有?有木有?有木有?有木有?
主要是说下在BS的那些方面会应用,如果能举个案例就更好了,谢谢各位了~
那面试的时候问你的个人爱好是不是也让你工作的时候用呢?
那道题只是考你的思路和java基础
工作的时候用的东西你不可能都会,重要的是你不会的东西你懂得怎么去做出来,思路是最重要的
2*8表示的是8个2相加
8<<1相当于8*2 表示2个8相加嘿嘿意义不同
楼上的答案a = a ^ b;b = b ^ a;a = a ^ b;
想想HIBERNATE吧,就能知道同步与异步
其实在我们编程过程中,默认都是以异步的方式进行调用的。仅当显示的声明synchronized(同步)的时候,此时才会以同步的方式进行调用。
举个简单的例子:叫你用BS结构开发一个购票系统。
目前库中只有一张票,有很多客户端,他们都能看到此时库中还有一张票。
好,他们同时进行购买操作。
程序怎么实现?先查看库中是否有一张票,有则可购买(更新数据库,使库中票数减一),没有则不能购买。这种逻辑很正常,对吧?但如果大家都同时做这样的操作(客户端越多,这种事就越正常)。
大家同时查看,数据库都有一张票,且只有一张票,OK,大家都是购买,都同时update。问题来了,本来都只有一张票,现在有几个异步的客户端,就卖出了几张票。
当然,你要告诉我,你用事务原子锁。正确。
我也可以告诉你,我不用原子锁,我只用在更新操作这个方法上加个synchronized(同步)。多线程更不用说啦,做WEB的都应该了解WEB处理机制吧?WEB系统本身就是以多线程方式运行的。不然怎么支持那么多接入访问客户端?
11: int i = 2 << 3;
00000027 BE 10 00 00 00 mov esi,10h 这是int i = 2 << 3 进行反汇编的结果 表明一点 编译器确实是直接把 16的值在编译期计算出来并且直接赋给了 i 位移操作的指令应该是
mov ax,2
shl ax,3
所以在编译器上面写 16和 2<<3最大的意义不是效率问题 而是可读性的问题 常量计算是在编译器完成的。
9494 无端的使用复杂的语法会增加软件的复杂度这也是Java这类语言所面对的一个最大的问题,很多人使用复杂的语法实现其实和简单语法实现的相同的功能,这样就增加了以后所有要阅读这些代码的程序员的门槛 而还自以为优雅实质上晦涩难懂 如果真的能提高效率和复用性也就算了 如果用了还没有在这些方面有实质行的提高 那么我说这样的代码是没有价值的
a=a+b;
b=a-b;
a=a-b;
不OK?