Java语言的安全性的体现

时间:2022-12-30 18:24:55

Java语言的安全性的体现

1、严格遵循面向对象的规范。这样封装了数据细节,只提供接口给用户。增加了数据级的安全性。

2、无指针运算。java中的操作,除了基本类型都是引用的操作。引用是不能进行增减运算,不能被直接赋予内存地址的,从而增加了内存级的安全性。

3、数组边界检查。这样就不会出现C/C++中的缓存溢出等安全漏洞。

4、强制类型转换。非同类型的对象之间不能进行转换,否则会抛出ClassCastException

5、语言对线程安全的支持。java从语言级支持线程。从而从语法和语言本身做了很多对线程的控制和支持。

6、java的安全还通过编译器、检验器、类装载器、建立安全策略等方式保证了java程序的安全性

Java最基本的安全性有三个。

第一个就是garbage collection,garbage collector会让你的程序不容易出现内存泄露。内存泄露是很危险的,在内存泄露的时候黑客可以黑你的电脑。

第二个就是exception,你有没有发现你想用呗null赋值的东西会出Exception?这个就是exception的好处。出现exception的时候程序员可以让程序停止运行,这样的话就不会被黑客黑了。

第3个就是指针,JAVA里面没有指针!这样的话人们就不能access不该access的内存了。C的话就非常危险了,黑客可以让C的程序stack overflow, 然后在overflow的内存地址跳到一个不该跳的地方。

Java语言的安全性的体现的更多相关文章

  1. [原]Java修炼 之 基础篇(一)Java语言特性

    学习软件开发,首先要选择的就是选择需要采用的编程语言,考虑语言本身的优缺点和实际需求,综合评价之后选择相关的语言进行系统开发.本篇博客开始就从近年来比较流行的Java开始为大家讲起. 背景 1995年 ...

  2. Java基础知识强化之集合框架笔记80:HashMap的线程不安全性的体现

    1. HashMap 的线程不安全性的体现: 主要是下面两方面: (1)多线程环境下,多个线程同时resize()时候,容易产生死锁现象.即:resize死循环 (2)如果在使用迭代器的过程中有其他线 ...

  3. 瘋耔java语言笔记

    一◐ java概述                                                                                        1.1 ...

  4. Java语言概述

    1.1 基础知识 ·第一代语言 打孔机--纯机器语言 ·第二代语言 汇编 ·第三代语言 C.Pascal.Fortran面向过程的语言 C++面向过程/面向对象 Java跨平台的纯面向对象的语言 .N ...

  5. 《JAVA语言程序设计》上课笔记

    教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一.        问几个问题 1.             你们到这里来干什么 ...

  6. Java语言概论

    第1章 ■    Java的发展简史及特点 ■    J2SDK的下载与安装 ■    Java应用程序的编写 ■    Eclipse的下载及使用 ■    正确安装使用J2SDK ■    使用记 ...

  7. 第1章 Java语言概述--HelloWorld--环境搭建

    SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...

  8. 第二十五节:Java语言基础-面向对象基础

    面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基 ...

  9. day01<计算机基础知识&Java语言基础>

    计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...

随机推荐

  1. 最长公共子序列LCS问题

    很经典的一个问题,也是常考的问题

  2. sharepoint的导航开发

    2.来大体讲一下“导航” (1)全局导航 : 整个网站集的导航:(如果公司的网站有很多子网站,这时便会用到全局导航啦):贴一下主要代码: using Microsoft.SharePoint.Publ ...

  3. (转)ASP.NET QueryString乱码解决问题

    正常的情况下,现在asp.net的网站很多都直接使用UTF8来进行页面编码的,这与Javascript.缺省网站的编码是相同的,但是也有相当一部分采用GB2312. 对于GB2312的网站如果直接用j ...

  4. mysql 常用sql语句 二

    mysql 查询 基本查询 select * from users; 去重 select distinct(name),high from users order by high desc; ## 注 ...

  5. 并发服务器--02(基于I/O复用——运用Select函数)

    I/O模型 Unix/Linux下有5中可用的I/O模型: 阻塞式I/O 非阻塞式I/O I/O复用(select.poll.epoll和pselect) 信号驱动式I/O(SIGIO) 异步I/O( ...

  6. hadoop题目(一)

    一.简要描述如何安装配置一个开源hadoop,只描述即可,列出完整步骤. 答:①创建一个用户和用户组,用来管理hadoop项目:   ②修改确定IP地址:vim /etc/sysconfig/netw ...

  7. 从0移植uboot(六) _实现网络功能

    为uboot添加网卡功能可以让uboot通过tftp下载内核, 方便我们的开发, 对于网卡功能的移植,我们依然在在一遍又一遍的实践这个uboot改造的套路. 找运行逻辑,即插入代码的位置. 根据运行逻 ...

  8. 美剧黑名单的插曲《Jolene》

    网易上有Slowdown 版本.<Jolene>Dolly Parton

  9. 以webService为客户端获取List泛型结果集

    首先搭建好webService,添加XFire1.2Core Libraries 和XFire1.2HTTP Client Libraries,连接上数据库,下例以oracle为数据库. 连接Oral ...

  10. &lbrack;转&rsqb;java调用外部程序Runtime&period;getRuntime&lpar;&rpar;&period;exec

    Runtime.getRuntime().exec()方法主要用于执行外部的程序或命令. Runtime.getRuntime().exec共有六个重载方法: public Process exec( ...