Java基础
Edison_style
300字以内
展开
-
Iterator(迭代器)的一般用法
迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返转载 2017-09-27 16:12:49 · 435 阅读 · 0 评论 -
Java中的多线程(进程和线程的创建)
一、进程的创建通过Runtime类中的exec()方法来创建public class test{ public static void main(String[] args) throws Exception { Runtime rt = Runtime.getRuntime(); rt.exec("notepad");//创建一个记事本进程 }}...原创 2018-06-04 13:20:35 · 241 阅读 · 0 评论 -
OutputStreamWriter输出txt分行显示
OutputStreamWriter op = new OutputStreamWriter(new FileOutputStream("c:\\users\\chencheng\\desktop\\3.txt"), "utf-8");op.append("猜猜会不会显示"+"\n");//这边"\n"不起作用op.append("\r\n");//换行op.append("原创 2018-06-11 10:57:27 · 2571 阅读 · 1 评论 -
Java中的多线程(同步线程)
public class test{ public static void main(String[] args) throws IOException{ Thread1 t1 = new Thread1("A"); Thread1 t2 = new Thread1("B"); Thread1 t3 = new Thread1("C"); ...原创 2018-06-04 16:58:23 · 232 阅读 · 0 评论 -
防止SQL注入的五种方法
一、SQL注入简介SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。二、SQL注入攻击的总体思路1.寻找到SQL注入的位置2.判断服务器类型和后台数据库类型3.针对不通的服务器和数据库特点进行SQL注入攻击 三、SQL注入攻击实例比如在一个登录界面,要求输入用户名和密码:可以这样输入实现免帐号登...转载 2018-06-11 17:06:52 · 1334 阅读 · 0 评论 -
Java中super的用法
Java中,在执行子类的构造方法之前或者子类没有明确指定构造方法,会自动调用父类的无参构造方法。super的三种使用情况:访问父类方法中被覆盖的方法。调用父类构造方法。访问父类中的隐藏成员变量。class A{ int a; A(){ a = 3; System.out.println(a); } void dosomething(){ System.out.println("...原创 2018-05-24 11:19:53 · 8794 阅读 · 2 评论 -
Java创建内部类对象
public class OutClass { class InnerClass{ private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public ...原创 2018-05-24 13:39:59 · 3469 阅读 · 0 评论 -
Java中的线程安全和线程不安全
线程安全:多条线程访问时,采用同步或者添加锁机制(详见:https://blog.csdn.net/edison_style/article/details/80566909),当一条线程访问完,其他线程才能访问,这就是线程安全。线程不安全:多条线程同时进入代码块进行操作,造成数据重复使用等脏数据的情况。...原创 2018-06-05 14:25:33 · 606 阅读 · 0 评论 -
Java中的形参和实参
实参(实际参数): 是在调用时传递给函数的参数。可以是常量、变量、表达式、函数等。实参必须有实际确定的值,以便把值传给形参。因此应预先用赋值,输入等方法使实参获得值。形参(形式参数): 形参不是实际存在的变量(虚拟变量)。是在定义函数名和函数体时使用的参数,用来接收调用该函数时传入的参数(即实参传值给形参)。所以实参的类型和个数应和形参一一对应。例如:void add(...原创 2018-05-30 10:17:02 · 1909 阅读 · 0 评论 -
Java中的FileOutputStream中文乱码问题
解决方法:用OutputStreamWriter将字节流转换为字符流,同时制定UTF-8编码。OutputStreamWriter op = new OutputStreamWriter(new FileOutputStream(file), "utf-8");op.append(str);op.flush();op.close();如果还是乱码,右键项目属性,看看项目编码是否是utf-8。...原创 2018-05-30 13:14:08 · 26635 阅读 · 0 评论 -
Java查看类却显示source not found解决办法
点击Attach Source-->选择C:\Program Files\Java\jdk1.7.0_71下的src.zip压缩文件。原创 2018-05-30 14:28:32 · 7800 阅读 · 5 评论 -
Java中的Object、T(泛型)、?区别
因为最近重新看了泛型,又看了些反射,导致我对Object、T(以下代指泛型)、?产生了疑惑。我们先来试着理解一下Object类,学习Java的应该都知道Object是所有类的父类,注意:那么这就意味着它的范围非常广!首先记住这点,如果你的参数类型时Object,那么的参数类型将非常广!《Thinking in Java》中说很多原因促成了泛型的出现,最引人注目的一个原因就是为了创造容器类。这个要怎...转载 2018-06-13 15:35:52 · 591 阅读 · 0 评论 -
Java中的接口
我们通过方法来描述对象的行为。在抽象方法中,仅仅声明方法,并没有方法体。一个类中如果包含一个或多个抽象方法,则该类就是抽象类,要用abstract修饰。(抽象类中可以包含非抽象方法,接口中不可以)使用接口的两个原因:为了能够向上转型为多个基类以及由此而带来的灵活性(核心原因);防止客户端程序员创建该类的对象(与抽象基类相同)。我们可以在类中定义接口,也可以在接口中定义接口。我们在实现某个接口的时候...原创 2018-05-23 16:32:50 · 223 阅读 · 0 评论 -
Java中协变返回类型的简单理解
在Java SE5中添加了协变返回类型,定义为子类重写父类方法时,返回类型可以是父类返回类型的子类。实例:public class test { public static void main(String[] args) { Plant plant = new Plant(); Flower flower = new Flower(); plant = flower.kind();...原创 2018-05-23 13:44:39 · 451 阅读 · 0 评论 -
Java代码的执行顺序
静态代码块、构造代码块、构造方法的执行顺序: 1.首先执行静态代码块(静态代码块执行一次) 2.其次执行构造代码块 3.最后执行构造方法public class Test1{ { System.out.println("父类第一构造块"); } static{ System.out.println("父类第一静态代码块"); }原创 2017-10-12 10:00:54 · 283 阅读 · 0 评论 -
json对象和json字符串
json对象:1.类型为Object2.console.log(json对象.col)页面显示属性json字符串:1.类型为String2.console.log(json字符串)页面显示字符串json对象和json字符串的相互转换var json对象 = JSON.parse(json字符串);var json字符串 = JSON.stringify(json对象);...原创 2018-05-16 23:23:08 · 336 阅读 · 0 评论 -
Java时间格式转换
Date date = new Date();//EEEE是星期, MMMM是月SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHO...原创 2018-05-17 11:04:02 · 428 阅读 · 0 评论 -
jquery循环遍历list,map
for(var i=0;i<data.length;i++){}$.each(data, function (i, item){}这两种方法都能实现遍历循环里写:$("table").append("<tr><td>"+this.col1+"</td><td>"+this.col2+"</td&原创 2018-05-17 15:36:22 · 6236 阅读 · 0 评论 -
java对象的存储
寄存器。它是最快的存储区,位于处理器内部。一般来说,它根据需求进行分配,我们不能直接进行控制,也很难感觉到它的存在。堆栈。它位于 RAM(Random Access Memory,随机访问存储器),通过堆栈指针分配内存空间,指针下移,分配内存;指针上移,释放内存。堆栈的处理速度仅次于寄存器,但编译器必须知道存储在堆栈中内容的确切生命周期,这造成了一定的限制。一般来说,基本数据类型,存储在堆栈中。堆...转载 2018-05-21 10:13:30 · 301 阅读 · 0 评论 -
Java访问权限控制
访问权限控制的等级,从最大权限到最小权限依次为:public、protected、包访问权限(没有关键字)和private。public:任何类都可以访问;protected:该类的子类及同包的类可以访问;包访问权限:同包的类可以访问;private:只有本类的成员可以访问。每个编译单元只能有一个public类,否则编译器就会报错。当编译一个.java文件时,在.java文件中的每个类都会有一个输...转载 2018-05-21 16:10:08 · 545 阅读 · 0 评论 -
Java中的栈和堆
JAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了。以下是这几天栈和堆的学习记录和心得。得些记录下来。以后有学到新的,会慢慢补充。 一、先说一下最基本的要点基本数据类型、局部变量都是存放在栈内存中的,用完就消失。new创建的实例化对象及数组,是存放在堆内...转载 2018-05-25 14:34:29 · 223 阅读 · 0 评论 -
javax.servlet.jsp.PageContext cannot be resolved to a type报错解决方法
项目-->右键Properties-->选择Java Build Path-->选择Libraries-->Add External JARs-->选择../tomcat/lib/下的jsp-api.jar和servlet-api.jar两个jar包-->Apply原创 2018-05-16 14:43:28 · 2374 阅读 · 1 评论 -
页面接收后台json数据显示[object Object]解决方法
data-->JSON.stringify(data);原创 2018-05-16 15:04:21 · 28598 阅读 · 14 评论 -
ajax接收json数据在页面显示
dataType : "json"说明返回值类型为json(也可以为xml/html/script/jsonp/text)$("#input").val(data.col); $("#div").html("col1:"+data.col1+" "+"col2:"+data.col2);alert(JSON.stringify(data));原创 2018-05-16 16:43:59 · 3847 阅读 · 0 评论 -
Java中的多态
在面向对象的编程语言中,有三个特性,分别为:封装、继承和多态。实现多态的前提是继承,多态的作用是消除类型之间的耦合关系。对于多态,我们常说的词有两个,分别为:向上转型和向下转型。我们把对某个对象的引用视为其基类型的引用的做法,称之为向上转型;把对某个对象的引用视为其导出类型的引用的做法(把父类对象转成子类对象),称之为向下转型。Animal animal = new Cat();//向上转型向上转...原创 2018-05-23 10:34:46 · 159 阅读 · 0 评论 -
Java中的多线程(进程和线程)
进程:正在运行的程序。是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。线程:进程中的单个顺序控制流,是一条执行路径。 一个进程有一条(多条)执行路径,则称为单线程(多线程)程序。并行:逻辑上同时发生,某个时间内同时运行多个程序。并发:物理上同时发生,某个时间点同时运行多个程序。(jvm虚拟机的启动也是多线程的,最低启动两个线程,即...原创 2018-05-31 11:23:33 · 317 阅读 · 0 评论