win10 java环境变量设置不成功
JAVA_HOME C:\Program Files\Java\jdk1.8.0_05
CLASSPATH %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH %JAVA_HOME%\bin;
计算机-属性-高级系统设置-环境变量
java中synchronized锁对象的问题
censhi007 是对的。LZ你锁住某个对象b的话,那你只能保证在synchronized内调用b对象的方法或者属性的“那一句语句”时,别的线程(同样通过synchronized请求调用对象b)会被堵塞。
如果说要详细的说,那就是你在synchronized(b)m2里面,b = 2000这一句语句运行的那个时间内,m1里面的b = 1000这一句不能同时运行,会等待b = 2000运行完才运行。呃,很显然,在这里synchronized(b)连个毛用都没有了。。
但是如果你是调用b对象的某一个方法a()的话,那么在运行方法a的整个过程,m1不能同时运行方法a(),这样就有那么点用处了。。
而yzn6370823 说的在一定程度上也没错。你根本不能保证m1和m2哪一个synchronized块会被先调用。
同时,你在
public void m2()throws Exception {
synchronized(this){
b = 2000;
Thread.sleep(1000);
}
System.out.println(“m2:“ + b);
}
中,把 System.out.println(“m2:“ + b);放到synchronized外是不对的,因为你的意图应该是m2输入被锁住的时候的值吧,如果你RP不好,说不准m2就输出1000了。
Java和Python那个更好就业呢
Java :
Java 在当今互联网快速发展的大环境下主要是做 web 开发而用,如果考虑到当前前后端分离技术盛行以及各种 APP 、小程序、公众号的存在,他们两个主要是提供 HTTP (HTTPS)接口所用,毕竟大多数系统、网站、APP 都是为用户提供服务的,只要有服务,那其实归根结底都会沉淀到业务,至于业务,这里恐怕还是要泼一盆冷水了,其实到最后免不了还是增删改查。-JAVA
而技术从早期到今天,由于 Java 出现的时间很早,也就最早被用来做业务开发,由于用的人越来越多,加之 Java 也是一直不负众望的发展的越来越好,所以到现在为止大多数网站(比如电商)、APP 的后台服务、后台的运营平台等,多数还是采用 Java。-java
Java 曾长期占据榜首。
Python:
人生苦短,我用 Python。这是 Python 的口号,为什么这么说呢,这就要归结于 Python 的语法简洁,上手简单了。
Python 在网络爬虫、文本处理、运维方面见长,现在由于 AI 盛行,并且多数的 AI 库都支持 Python ,又给 Python 加了一把油,使其一跃而在语言榜上超过 Java。
以快速找到一个工作来说,当然是选择 Java 了。
但如果你不是仅仅只是为了获得一个维持生计的工具而已,那么还是选择 Java 。以我个人偏见,还是选择 Java ,因为我本身是 Java 开发。当然我也不是说选择了前端就是没追求,如果想在技术上有所提升,那么学习一门服务端语言还是有必要的。-JAVA
为什么不推荐 Python 呢,因为 Python 几乎应该是每个开发人员都应该掌握的技能,前面已经说了,其上手简单,任何一个具备一定开发经验的人,很短时间内就能达到一个平均水平。而且 Python 偏重做比较基础性的工作,例如运维系统、爬虫系统,这些东西都不是很明显能看到效果的,对于一个刚刚入门的人来说,成就感难免不是很高。-java
那你说了, AI 很火啊,而且都支持 Python ,没错,但是 AI 呀、大数据处理呀,其实他们的核心不在于使用的什么语言,而在于其背后的算法、数学、以及各个垂直领域的核心技术。
综上:首推 Java 。