尚学堂小编在此给一些初学者一些我认为比较靠谱的建议,仅供参考。
1,不一定要把java学深入。
有多少人搞程序是喜欢这个的,搞程序一半是因为钱多,一半是因为晋升公平。那么问题就来了,如果是为了钱,那为什么不直接选择一个挣钱多的方向呢?
2,初学者学java至少要脱产半年的时间才能算了解了,才适合被人带,因为至少半年的时间,才知道遇到问题如何解决,有的人需要更长的时间。现在有很多人已经有5年左右的经验了,在他们的压制下,java初学者很难有逆袭的机会了。
3,行业环境,现在数据存储,后台打包的方案的创业公司已经有苗头,也就是说,后台开发已经被集中解决,日后会越来越成熟,这就是意味着,java招聘需要有经验的人,也就是说,必须熬几年后才能有突破。
4,java离市场较远,所以呢?java开发人员很难有一个大的突破。
5,程序里面有变量所以解决了一系列类似的问题,所以注定了程序必须提供大批服务时才能有高收益,不知道大家明白这句的意思不。如果不理解,就思考下云服务器怎么才能赚钱。
6,如果是想挣钱,如果是要公平。那就放弃追求高薪的想法,java只是一门语言,现在辉煌,以后就会凋零;java工程师也只是一个岗位,今天这个岗位很重要,明天就不一定了。任何一个岗位的薪资不是由能力决定的,是市场决定。今天java稀缺,明天如果出来一大批,价位马上下来。我本来想建议一下还没入门,想做java的同学转去学html5,学设计,但是觉得这也不就是一门语言,和java类似。
你见过哪些让你瞠目结舌的 Java 代码技巧?
想起了1+1=3的那个
代码大概是这个样子...
----------------------------------------
public static void main(String[] args) throws Exception {
Class integer = Integer.class.getDeclaredClasses()[0];
Field field = integer.getDeclaredField("cache");
field.setAccessible(true);
Integer[] array = (Integer[]) field.get(integer);
array[130] = array[131];
System.out.printf("%d", 1 + 1);}
----------------------------------------------------------------------------------------------
解解释一下,前面几步是反射就不说了,java里面有一个int常量池,也就是field.get(integer);这句代码所拿到的,它的长度是256,里面存着[-128-127]之间的数字.这个有什么用?看了下面的代码你就会理解了
Integer a = -128;
Integer b = -128;
Integer c = -129;
Integer d = -129;
System.out.println(a == b);//true
System.out.println(c == d);//false
然后,System.out.printf这个方法并没有做验证,而是如果值在这个范围就直接从池中拿出来.
也就是说,如果我这样写
for (int i = 0; i < array.length; i++) {
array[i] = 12450;
}
for (int i = -128; i <= 127; i++) {
System.out.printf("%d\n", i);
}
输出的将都会是12450.
println就不会用这个问题,因为它用的是String.valueOf(i)
1,不一定要把java学深入。
有多少人搞程序是喜欢这个的,搞程序一半是因为钱多,一半是因为晋升公平。那么问题就来了,如果是为了钱,那为什么不直接选择一个挣钱多的方向呢?
2,初学者学java至少要脱产半年的时间才能算了解了,才适合被人带,因为至少半年的时间,才知道遇到问题如何解决,有的人需要更长的时间。现在有很多人已经有5年左右的经验了,在他们的压制下,java初学者很难有逆袭的机会了。
3,行业环境,现在数据存储,后台打包的方案的创业公司已经有苗头,也就是说,后台开发已经被集中解决,日后会越来越成熟,这就是意味着,java招聘需要有经验的人,也就是说,必须熬几年后才能有突破。
4,java离市场较远,所以呢?java开发人员很难有一个大的突破。
5,程序里面有变量所以解决了一系列类似的问题,所以注定了程序必须提供大批服务时才能有高收益,不知道大家明白这句的意思不。如果不理解,就思考下云服务器怎么才能赚钱。
6,如果是想挣钱,如果是要公平。那就放弃追求高薪的想法,java只是一门语言,现在辉煌,以后就会凋零;java工程师也只是一个岗位,今天这个岗位很重要,明天就不一定了。任何一个岗位的薪资不是由能力决定的,是市场决定。今天java稀缺,明天如果出来一大批,价位马上下来。我本来想建议一下还没入门,想做java的同学转去学html5,学设计,但是觉得这也不就是一门语言,和java类似。
你见过哪些让你瞠目结舌的 Java 代码技巧?
想起了1+1=3的那个
代码大概是这个样子...
----------------------------------------
public static void main(String[] args) throws Exception {
Class integer = Integer.class.getDeclaredClasses()[0];
Field field = integer.getDeclaredField("cache");
field.setAccessible(true);
Integer[] array = (Integer[]) field.get(integer);
array[130] = array[131];
System.out.printf("%d", 1 + 1);}
----------------------------------------------------------------------------------------------
解解释一下,前面几步是反射就不说了,java里面有一个int常量池,也就是field.get(integer);这句代码所拿到的,它的长度是256,里面存着[-128-127]之间的数字.这个有什么用?看了下面的代码你就会理解了
Integer a = -128;
Integer b = -128;
Integer c = -129;
Integer d = -129;
System.out.println(a == b);//true
System.out.println(c == d);//false
然后,System.out.printf这个方法并没有做验证,而是如果值在这个范围就直接从池中拿出来.
也就是说,如果我这样写
for (int i = 0; i < array.length; i++) {
array[i] = 12450;
}
for (int i = -128; i <= 127; i++) {
System.out.printf("%d\n", i);
}
输出的将都会是12450.
println就不会用这个问题,因为它用的是String.valueOf(i)