放假在家,歇了好几天了,也没学习,今天学习一下多线程.找找感觉.后天就要回学校了.sad... PS:包 没有什么技术含量,会用就可以,日后开发就必需要会用啦,所以打算先放一放,先来多线程 一.多线程概述 什么是进程? 通俗的说.能够理解为正在进行中的程序,进程实际上是相应的一个应用程序在内存中所属空间. 进程不直接运行的,进程仅仅是分配该应用程序须要的内存空间.线程来负责运行,线程负责进程中内容运行的一个控制单元.也称之为运行路径.也称之为运行情景 什么是线程? 线程就是进程中一个负责程序运行…
多生产者多消费者问题 以生产馒头 消费馒头为例. class Resource { private String name; private int count = 1; private boolean flag = false; public synchronized void set(String name) { if (flag) { try { this.wait(); } catch (Exception e) { // TODO: handle exception } } this.…
数据库操作(DDL) 在数据库下创建表(create_table) 创建表代码块: CREATE TABLE employee( id TINYINT PRIMARY KEY auto_increment, name VARCHAR(25), gender boolean, age INT, department VARCHAR(20), salary DOUBLE(7,2)); 添加字段: 删除字段: 修改字段:…
风炫安全WEB安全学习第二十一节课 存储型XSS讲解 存储型XSS演示 存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行.这种XSS比较危险,容易造成蠕虫,盗窃cookie等. 反射型XSS,非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面. 如下面这个点击弹出自己的在该网站的cookie: 最大的区别就是xss…
 java学习第十一周     本周,进行了java集合方面的知识,在博客园的帮助下,我的课前预习更有条理性,重点明确,本周的课堂反应明显更好了,首先,梳理一下本周知识点.  Collection                   Collection是最基本的集合接口,一个Collection代表一组Object,即Collection├List                   的元素.│├LinkedList             不论Collection的实际类型如何,它都支持一个…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异常第二十一章:finally不被执行的情况 下一章 "全栈2019"Java异常第二十二章:try-with-resources语句详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorh…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十一课:线的游戏 线,反走样,计时,正投影和简单的声音: 这是我第一个大的教程,它将包括线,反走样,计时,正投影和简单的声音.希望这一课中的东西能让每个人感到高兴.   欢迎来到第21课,在这一课里,你将学会直线,反走样,正投影…
风炫安全WEB安全学习第二十二节课 DOM型XSS讲解 Dom型XSS演示 通过Javascript,可以重构整个HTML文档,你可以添加.移除.改变或重排页面上的项目 要改变页面的某个东西,JavaScript就需要获得对HTML文档中所有元素进行访问的入口,这个入口,连同对HTML元素进行添加.移动.改变或者移除的方法和属性,都是通过文档对象模型来获得的(DOM) 所以,你可以把DOM理解为一个一个访问HTML的标准编程接口 参考: http://blog.evalshell.com/202…
                             学习第二周(Java基本程序设计结构)      这一周,着重学习了Java的简单程序设计实现及运行,通过自己操作,发现Java的程序语法大面积的与C语言重合,这无疑对我的Java学习减轻了负担,但同时也要更加注重Java与C语言存在的差异,必须清楚区分它们,才能更好的运用它们.      Java的数据类型中,有两个是我第一次接触了解,那就是布尔类型(Boolean类型)和字节类型(byte类型),对于它们的应用,我在编写程序时暂且没有…
今天是新年的第一天,以前学习没有总结习惯,学习效率和成果都很不好.  学习的过程就是反复的复习和不断学习的过程,开始今天的学习总结   学习java的第二天. 今天学习了java最基础的一些内容,照着老师的笔记自己在输一次,就当练习手速了,这些内容比较零碎,也容易忘  如果忘了 在看一看就可以了,还有一些命名规则,今天学了以后就要照着这样做,做任何事情都要认真.…
20145307<Java程序设计>第二周学习总结 教材学习内容总结 Java语言中的很多基本语法都和C语言类似,以下Java中的基本语法 标识符 标识符是程序中自定义的一些名称. 由26个英文字母大小写数字符号组成,定义合法标识符规则: 1.数字不可以开头. 2.不可以使用关键字.(例如class String是不行的) Java中的名称规范: 1.包名:多单词组成时所有字母都小写 . 2.类名接口名:多单词组成时,所有单词的首字母大写 3.变量名和函数名:多单词组成时,第一个单词首字母小写…
从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDEA.要知道,写代码的水平可以是一坨屎,但是开发工具一定要用最好的,就像一个人武功很差,又不拿一把像样的兵器在手的话,根本就没法闯荡江湖,分分钟被人砍死了.之前用eclipse,myeclipse的时候,由于和过去用VS的落差太大,弄得我一度想放弃写java代码,直到IDEA的出现,犹如黑暗中的一盏明…
从.Net到Java学习系列目录 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明啦!所以从这一篇开始我将会对之前自己做的.net项目用java来重写.这一篇,我们来现实登录模块. 一提到登录,我们首先想到的基本的功能点就有如下: 输入:用户名.密码.验证码. 登录成功后,跳转到后台.如果未登录直接访问后台,将会跳转到登录页面. 这里暂不考虑复杂的登录实现. 技术选型,沿用前面用到的知识点.那么这里较之于之前的文章,…
一.多线程下的单例设计模式 利用双重推断的形式解决懒汉式的安全问题和效率问题 //饿汉式 /*class Single { private static final Single t = new Single(); private Single(){} //private构造函数,确保其它类对象不能直接new一个该对象实例 public static Single getInstance() { return t; } } */ //懒汉式 class Single { private stat…
一.线程间的通信 实例代码: 需求是:输入一个姓名和性别后,就输出一个姓名和性别 class Resource { String name; String sex ; } class Input implements Runnable { Resource r; Input(Resource r) { this.r = r; } public void run() { int x = 0; while(true) { synchronized (r) { if(x==0) { r.name =…
前面十节课我们已经把ES的基本概念和使用讲的差不多了,现在我们就用基于java来实际开发一个操作ES的小项目,带大家来一起练练手. 1.我们用IDEA创建一个maven项目 项目结构如上图所示,然后我们就引入操作ES需要用到的jar和JUNIT,pom.xml最终配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/…
多线程告一段落,開始经常使用对象API的涉及,背也要背下来!.! 日后开发,遇见最多的对象是文字,也就是字符串 String类 字符串是一个特殊对象 字符串一旦初始化就不能够被改变 一.特点 public class Main { public static void main(String[] args) { Demo1(); System.out.println("--------------"); Demo2(); } /*演示字符串的第一种定义方式,并明白字符串常量池的特点*/…
进程:正在进行中的程序(直译). 线程:就是进程中一个负责程序执行的控制单元(执行路径) 一个进程中可以有多个执行路径,称之为多线程. 一个进程中至少要有一个线程. 开启多个线程是为了同时运行多部分代码. 每一个线程都有自己运行的内容.这个内容可以称为线程要执行的任务. 多线程的好处:解决了多部分同时运行的问题. 多线程的弊端:线程太多回到效率的降低. 其实应用程序的执行都是cpu在做着快速的切换完成的.这个切换是随机的. jvm启动时就启动了多个线程,至少有两个线程可以分析的出来. 1.执行m…
多线程 多个程序块同时运行的现象被称作并发执行.多线程就是指一个应用程序中有多条并发执行的线索,每条线索都被称作一条线程,它们会交替执行,彼此间可以进行通信. 进程:在一个操作系统中,每个独立执行的程序都可称作为一个进程,也就是“正在运行的程序”.在计算机中,所有的程序都是由CPU执行的,CPU在某个时间点只能执行一个进程,在极短的时间下在不同的进程之间进行切换,给人程序在同时进行的感觉. 线程:每个运行的程序都是一个进程,在一个进程中可以有多个执行单元同时运行,这些执行单元可以看作程序执行的一…
第十二次课 目标 一维数组(创建访问) 一.概念与特点 1.概念 相同数据类型的有序集合[] 数组名: 容器的名字 元素:  下标变量,数组名[下标] 长度:  length 下标:   位置.索引  [0,length) 2.特点 1).数组是引用类型,也是对象 (new), 元素看成成员属性 2).数组是一个容器,长度一旦确定不可改变 (new 开辟空间) 3).元素的数据类型相同 a).基本类型: int[]  double[] b).引用类型: String[] Man[] Dog[]…
上一课主要讲了属性的概念,用法,固有属性和自定义属性的区别,class属性操作的方法等,这一课主要讲一些有关属性操作的兼容性问题. IE6-IE8在一些表示URL的属性会返回补全的改过编码的路径,比如:href,action,background,cite,data,src,url等.我们只需要用getAttribute(href,2),就能很好的兼容各种浏览器了.标准浏览器不支持第二个参数,因此忽略第二个参数.而IE支持第二个参数,2代表只取出原字符串的值. IE6-7下,对于form元素,调…
1:基本知识 [public / protected / private] class 类名 { 零个到多个构造器定义; 零个到多个属性; 零个到多个方法; } 其中类中各个成员之间的顺序没有关系,且各个成员之间可以相互调用,但是static修饰的成员不能访问没有static修饰的成员: static 修饰的成员表明它是属于这个类共有的而不是该类的单个实例! 定义属性的语法格式: [public / protected / private] [static | final] Type 属性名 定…
1.从控制台输入学员王浩3门课程成绩,编写程序实现 ChengJi (1)数学课和英语课的分数之差 (2)3门课的平均分 代码如下: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Monaco } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Monaco; min-height: 22.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px;…
如果一个共享资源被多个线程同时访问,可能会遭到破坏.举个例子说明这个问题,假设创建并启动100个线程,每个线程都往同一个账户中添加一个便士,代码如下: import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class AccountWithSync { private static Account account = new Account(); public stat…
1:多线程(理解) (1)多线程:一个应用程序有多条执行路径 进程:正在执行的应用程序 线程:进程的执行单元,执行路径 单线程:一个应用程序只有一条执行路径 多线程:一个应用程序有多条执行路径 多进程的意义? 提高CPU的使用率 多线程的意义? 提高应用程序的使用率 (2)Java程序的运行原理及JVM的启动是多线程的吗? A:Java命令去启动JVM,JVM会启动一个进程,该进程会启动一个主线程. B:JVM的启动是多线程的,因为它最低有两个线程启动了,主线程和垃圾回收线程. (3)多线程的实…
Java 的基本运行单位是类.类由数据成员和函数成员组成.变量之间可以相互转换.String是一个类.static是静态.全局的意思.经过测试,Java的枚举类型定义的Size与String一样都不是Java的原有数据类型适当的修改测试的原程序代码:package shangke.dierzhou; public class EnumTest {  public static void main(String[] args) {  Size s=Size.SMALL;  Size t=Size.…
新学期,新气象,新老师,不同的语言学习. 我已经荒废了大一,感觉自己在大一根本没学啥,可能是自己太贪玩了,导致自己学的不精,自己对其他的见解很少. 也有自大的原因,导致自己一直浮在水平面,有实力,有耐心,可是都不能与自己相匹配.所以为了让自己提高,必须从 大一的经过反省自己的错. 开学我们学习java,首先我们就认识了李健老师,李健老师讲的好生动,然后对我们教的细心.讲的特别好,至少可以让我们听的入迷, 所以很喜欢李健老师,虽然我自己自学过一段时间的java,但也好像是纸上谈兵,书嘛,,,到看了…
一. 1.对传参进行了了解 2. 2.java的变量命名与c/c++有些不同在java中有¥,字母,下划线和数字,同样不可以是数字开头. java的布尔型为boolean 各个数据类型的信息: 注意: (1)java中的局部变量,必须初始化才能使用. (2)变量是有作用域的,也就是范围,变量的作用域是从变量定义开始到快结束离开这个作用域,java会自动收回该变量. (3)变量名不可以重复: 3.注释三种形式 1. //单行注释: 2. /*多行注释*/ 3. /** * * */ 4.常量 使用…
这一周观看了黑马程序员毕向东的教学视频学习了数组的创建:数组元素的使用及遍历,类的声明,成员方法的声明,构造器的声明 数据类型[] 数组名 = new 数据类型[长度];数据类型[] 数组名 = {数据,数据,-,数据};数据类型[] 数组名 = new 数据类型长度[] {数据,数据,-,数据}; 注意点有: ①构造器名必须和类名一致 ②构造器没有返回值类型 ③任何类都含有构造器.如果没有显式地定义类的构造器, ④则系统会为该类提供一个默认的无参的构造器.一旦在类中显式地定义了构造器,系统就不…
一.两个常用工具 1.随机生产一个[0,1)之间的数 Math.random() 举例: double box =Math.random(); //产生随机小数 [0,1) System.out.println("box="+box); //[min,max+1) int min =5; int max =9; box =Math.random()*(max-min+1) +min; System.out.println(box); 2.与客户交互,获取客户电脑的输入值 java.ut…