How to check for and disable Java in OS X
Java used to be deeply embedded in OS X, but in recent versions of the OS it's an optional install. Here is how to check to see if it is installed, and how to disable or remove it.
There's some concern over the use of Java in OS X following a recent finding that Flashback malware variantsare now taking advantage of currently unpatched vulnerabilities in the Java runtime.
Even though this malware development should not affect the majority of Macusers running OS X 10.7 or later since Apple no longer includes Java with the OS, some people may nonetheless be wondering what the Java runtime is, and how they can go about checking for and removing it from their systems to ensure they are safe.
What is Java?
The essence of Java is its runtime, which is a software environment that acts like a small operating system for running the compiled code of a specific programming language, and as such is sometimes referred to as a Virtual Machine. Many programming languages require the use of a runtime, without which they would not work. For instance, the runtime for the JavaScript language (which despite its name has nothing to do with Java) is built into Web browsers so scripts downloaded from Web sites can execute properly, and if you disable JavaScript in your browser's preferences then you disable the runtime and these scripts will not run.
Some other programming languages that use runtimes are Unix shell scripts, whose runtime is the shell itself (bash, sh, csh, etc.); Objective-C, which is the core programming language of OS X and whose runtime is a core library in OS X; and Java, whose runtime can be installed in an operating system and then activated when Java code needs to be executed.
Java's runtime has been a popular programming environment because its programming language is object-oriented, meaning it is well-suited for creating applications that have objectlike components to them, such as the buttons, scroll bars, and other features of a user interface. In addition, Java is built to be cross-platform, so programmers should only need to build one version of their Java code and then be able to deploy it to any operating system that has the Java runtime installed. In this sense the cross-platform effort is isolated to the runtime, instead of being a burden to the developer.
The Java Preferences application will list the runtimes available, and you can uncheck them to disable Java on your system.
(Credit: Screenshot by Topher Kessler/CNET)
These features have seen Java used in numerous programs, including Adobe's Creative Suite and other professional and scientific applications like Matlab. Even if Java is not used in the entire program, by using it in common components a developer can make porting the application to different platforms much easier.
Problems with runtimes
While runtimes such as Java offer support of new programming languages and thereby allow increased functionality to your system, they do open up more possibilities for security breaches. Code running in them will need to be isolated with sandboxing routines and other security measures to prevent unauthorized access to private or critical resources, but these measures will have to be implemented within each runtime and then tested to ensure that they cannot be breached. If a security hole is discovered, then the runtime will need to be updated to correct the problem.
With regard to Java, the runtime for Windows has been given more attention than that for OS X, so when security holes are discovered, it takes longer for the OS X version to be patched and therefore provides a better window of opportunity for malware developers to tackle it. With its latest variant, the Flashback malware has taken advantage of this window and is now targeting the unpatched Java runtime for the Mac OS.
In this case the vulnerability allows the malware to break the Java sandbox rules and write code to the disk, followed by executing it.
Checking for Java
Luckily unless a specific program needs Java, then the Java runtime is not required for OS X. None of the operating system's features need Java to run, and it's components are only present in the OS to support the runtime if you choose to install it for your needs.
Starting with OS X 10.7 Apple stopped including a Java runtime in OS X, but still provides a quick link to install it if you run a program that requires Java. When such a program is launched, you will first be prompted to install the Java runtime but if you choose not to, then the program will quit. As a result, if you have not purposefully taken steps to install Java on a new system, then it will not have a Java runtime and therefore will not be vulnerable to these latest malware attacks; however, if you are unsure whether you have Java installed, there are a couple of ways to check.
When you launch a java application or one that requires it, if you see this notice then you do not have Java installed on your system.
(Credit: Screenshot by Topher Kessler/CNET)
- Open a Java application
A simple way to see if you have Java installed is to open an application that requires it, and one of these that is included with OS X is the Java Preferences utility. Go to the /Applications/Utilities/ folder in OS X and launch the Java Preferences program, and if it opens and shows various configuration options, then you have Java installed; however, it if shows a message stating you need Java and provides you with an option to install it, then you do not have Java installed. - Use the Terminal
The OS X Terminal (in the /Applications/Utilities/ folder) provided access to a number of commands that can be used for looking up system information, and by running the following one in the Terminal you should be able to see in the output what Java runtimes (if any) are installed on your computer:sudo /usr/libexec/java_home
Disabling Java
If you do have Java installed on your system and would like to disable it, you can easily do so in the Java Preferences utility. When you open the utility you will be presented with a list of the Java runtimes installed on your system, and a check box next to each. By unchecking the runtimes you will prevent them from being used, and unchecking all will disable Java entirely.Running this Terminal command will output "No Java runtime present" if you do not have Java installed. By default new Macs will not have Java installed (click for larger view).
(Credit: Screenshot by Topher Kessler/CNET)
Once disabled, if you have a program on your computer that requires Java, then the program will simply not run until you enable it again. Therefore, while disabling Java does require an extra step when you want to run Java applications, it does put the control in your hands over what Java programs are allowed to run.
Uninstalling Java
Unfortunately there is no direct or easy way to uninstall Java, so once installed the only way to remove it and all of its components completely is to reinstall OS X; however, you can remove the Java virtual machine (the runtime) from your system and thereby perform a similar routine as an uninstall. To do this, go to the /System/Library/Frameworks/ directory and remove the file "JavaVM.framework," which contains the Java runtimes. Additionally, empty the contents of the following directories on the system which link to the runtimes in the framework:/System/Library/Java/JavaVirtualMachines
/Library/Java/JavaVirtualMachines
How to check for and disable Java in OS X的更多相关文章
- Uninstall or Disable Java on a Mac
You can run Java apps in two ways. The first is to run Java applets inside your Web browser with a p ...
- How to uninstall (remove) JAVA from OS X Lion
Open terminal (Applications -> Utilities -> Terminal) To remove JVM enter folowing: sudo rm -r ...
- Java性能提示(全)
http://www.onjava.com/pub/a/onjava/2001/05/30/optimization.htmlComparing the performance of LinkedLi ...
- java泛型学习(一)
泛型也叫做参数化类型,顾名思义的去理解,就是把类型作为一个参数.类比方法的传参,我们举个例子. class A{ public void getX(int x){ System.out.println ...
- 深入理解java反射原理
反射是java的一个特性,这一特性也使得它给了广大的第三方框架和开发过者很大的想像空间. 通过反射,java可以动态的加载未知的外部配置对象,临时生成字节码进行加载使用,从而使代码更灵活!可以极大地提 ...
- Java基础——反射
今天学到Java基础中的反反射.依照我学习后的个人理解呢,反射就是一套获取类.属性.方法等的工具吧.(其实,感觉学完反射后,有点像喝凉水,解渴但确实我也没体会出它有什么味道,我可能没有学到精髓吧.自己 ...
- Java高新技术第二篇:反射技术
今天我们来看一下Java中的反射技术: 首先来了解一下Java中的反射的一些概念: Java中的反射是1.2引入的 反射的基石:class类 Class类的各个实例对象分别对应各个类在内存中的字节码, ...
- ubuntu vps 安装java
Introduction Java is a programming technology originally developed by Sun Microsystems and later acq ...
- mac java 环境设置
MAC下JDK1.6下载路径 http://support.apple.com/kb/DL1572 Mac OS的java版本问题和Eclipse中无法找到jdk源代码的问题解决办法 下载包含源代码j ...
随机推荐
- JavaScript 精髓整理篇之一(对象篇)postby:http://zhutty.cnblogs.com
废话篇头: 由于工作关系,所以写博文的时间有那么点~~,其实是输入法太懒了,都是输入法的错~~ 这一系列的博客将总结所有关于JavaScript语言的精髓,适合0基础到大师级别人物阅读. <Ja ...
- Android开发之DatePickerDialog与TimePickerDialog的功能和使用方法具体解释
DatePickerDialog与TimePickerDialog的功能比較简单,使用方法也非常easy.仅仅要以下两步就可以. Ø 通过newkeyword创建DatePickerDialog.T ...
- VS2010 ReportViewer导出文件下载保存不能识别文件类型
今天测试项目时,突然发现导出报表下载保存的保存,不能识别文件的类型,文件名称为:.xls[3] 检查代码发现在指定报表路径时多了一个方法: ReportViewer1.LocalReport.Load ...
- C# Winform中DataGridView的DataGridViewCheckBoxColumn CheckBox选中判断
1.DataGridViewCheckBoxColumn CheckBox是否选中 在判断DataGridView中CheckBox选中列的时候,用DataGridViewRow.Cells[0].F ...
- USB联机线编程接口(API)
USB联机线编程接口(API) 2013-10-19 本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用. 关键字:USB隔离线.USB点对点通讯.USB通 ...
- (转) Python in NetBeans IDE 8.0
原地址: https://blogs.oracle.com/geertjan/entry/python_in_netbeans_ide_8 Copy this to the clipboard: ht ...
- www
dddd int vec_rotate(char *vec,int rotdist, int length) { int i,j,k,times; char t; times = gcd(rotdis ...
- overflow应用随记
今天在帮别人改页面时遇到了overflow属性,虽然对他已经比较熟悉了,但还是去专门查找了一下.和大家分享下. overflow 属性规定当内容溢出元素框时发生的事情. 这个属性定义溢出元素内容区的内 ...
- shopnc怎么开启伪静态 shopnc开启伪静态的方法
最近要给一个shopnc网站开启伪静态,用的是shopnc b2b2c,在网上搜索了好多shopnc开启伪静态的方法,但都是针对shaopnc c2c的,没有关于shopnc b2b2c的,最后终于找 ...
- Windows Server 2003 SP2企业版ISO下载, windows2003系统下载,2003系统下载,2003系统
Windows Server 2003 SP2 企业版ISO下载(真正企业免激活版) 此版本适合作为一个新系统来安装,也适合在虚拟机中安装 点评:Windows Server 2003 SP2 企业版 ...