Java编程
文章平均质量分 59
依白
集中=>高效
展开
-
List的线程安全
List的线程安全背景实验1. ArrayList2. synchronizedList3. 运行抛出异常ArrayIndexOutOfBoundsException异常原因背景Q:今天遇到一个场景,我们业务需要使用批量的数据进行操作,但是别人的接口只支持一个一个的查,所以需要用多线程去查结果值组装成一个list再进行后期的业务逻辑实现。实验用哪个list呢?写了一个小demo1. ArrayList测试使用我们平常经常用的ArrayList进行测试public class SetThre原创 2020-11-09 21:15:31 · 2978 阅读 · 0 评论 -
编写代码的原则
编写代码的原则组件原则:组件内的关系(组内聚合)组件间的关系(组件耦合)组件聚合方面的原则有以下几个:REP:复用/发布等同原则CCP:共同闭包原则CRP:共同复用原则组件耦合方面的原则有以下几个:ADP:无依赖环原则SDP:稳定依赖原则SAP:稳定抽象原则水平分层表现层 – Controller和VO业务逻辑层 – Service,Manager数据层 – Mapper、DO垂直分层解耦方式源码层次部署层级服务层次...原创 2020-07-16 15:06:45 · 385 阅读 · 0 评论 -
Java虚拟机-----运行时栈结构
Java 虚拟机栈 该区域也是线程私有的,它的生命周期也与线程相同。虚拟机栈描述的是 Java 方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧,栈它是用于支持续虚拟机进行方法调用和方法执行的数据结构。对于执行引擎来讲,活动线程中,只有栈顶的栈帧是有效的,称为当前栈帧,这个栈帧所关联的方法称为当前方法,执行引擎所运行的所有字节码指令都只针对当前栈帧进行操作。栈帧用于存储局部变量原创 2015-11-19 22:15:13 · 923 阅读 · 2 评论 -
Java中ArrayList 元素的排序
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-12-13 15:53:55 · 12443 阅读 · 0 评论 -
生产者消费者问题
问题描述: 生产者:爸爸、妈妈 消费者:child1、child2、child3 临界资源:盘子里面放的苹果,最多放10个苹果代码展示:苹果类:package com.niuke.proccon;/** * Created by panlu on 16-9-8. */public class Apple { private int appleID = 0;原创 2016-09-10 12:08:23 · 558 阅读 · 0 评论 -
Java中List的remove方法
今天被问到一个问题: NumberList是一个存储数字的容器,以下代码执行后容器中的数字是什么? List<Integer> numberlist = new ArrayList<Integer>(5);numberlist.add(2);numberlist.add(4);numberlist.add(1);numberlist.add(3);numberlist.add(原创 2016-09-10 17:07:46 · 25539 阅读 · 3 评论 -
Java虚拟机-----方法区和运行时常量池
方法区: 方法区(Method Area)与Java堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据(是唯一的数据)。当java虚拟机通过类加载器加载这个类的时候,这个类的信息就会保存到方法区中,虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做Non-Heap(非堆),目的应该是与Java堆区分开来。Hot原创 2015-11-23 11:37:47 · 9394 阅读 · 2 评论 -
线程
(https://img-blog.csdn.net/20180514231107394?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1bnNoaW5lX19tZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)原创 2018-05-14 23:11:41 · 262 阅读 · 0 评论 -
Java中从终端录入数据的方式
<一> 、使用标准输入串System.insystem.in.read()方法的作用是从键盘读出一个字符,然后返回它的Unicode码。按下Enter结束输入char c = 0; //必须初始化try { c = (char) System.in.read(); //录入的是Unicode码} catch(IOException e){ e.pri原创 2015-12-21 16:28:32 · 2519 阅读 · 0 评论 -
Java虚拟机-----内存区域的划分
最常用的JVM是:Oracle HotSpot (热点)Java 虚拟机在执行 Java 程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java 虚拟机规范将 JVM 所管理的内存分为以下几个运行时数据区:程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区。 Java 虚拟机运行时数据区Java虚拟机中若干种程序运行期间会使用到的存储不同原创 2015-11-19 00:07:17 · 936 阅读 · 0 评论 -
正则表达式解析
正则表达式,又称正规表达式,常规表达式,是使用单个字符串来描述.匹配一系列符合某个句法规则的字符串,在很多文本编辑器中,正则表达式通常被用来检索.替换那些符合某个模式的文本. 正则表达式的语法可以自行搜索,通常分为一下几个方面: 1>字符 可以使用普通字符匹配,例"a"原创 2015-07-18 14:50:37 · 698 阅读 · 0 评论 -
java中string的保存机制
jvm运行时内存会被分为两份,一部分是堆,一部分是栈,堆中保存的是创建的对象,栈中保存的是方法调用过程中的局部变量或引用. 在java字符串对象内存实现的时候,在堆中又开辟了一块很小的内存,叫做字符串常量池.专门用来存放特定的字符串对象 使用简单语法创建两个字符串: String s1 = "JavaSE7.0"; String s2 = ''JavaSE原创 2015-07-18 16:17:58 · 952 阅读 · 0 评论 -
数独游戏
数独游戏的编写,这次数独游戏的编写用的算法比较复杂,所以最终跑结果的时候用时比较长,首先将1到9数字放在了一个数组中,同时设置了一个LinkedList集合作为栈使用,每添加一个元素,就将元素扔进集合里面,每次遇见走不进去就退栈。package game_shudu;import org.omg.Messaging.SYNC_WITH_TRANSPORT;import java.io.*; i原创 2015-05-03 14:22:18 · 900 阅读 · 0 评论 -
HttpClient模拟浏览器登录后发起请求(携带Cookie发请求)以及网页显示的事件过程
##HttpClient模拟浏览器登录后发起请求(携带Cookie发请求) ##浏览器的工作: 1请求一个需要登录的页面或资源 2服务器判断当前的会话是否包含已登录信息。如果没有登录重定向到登录页面 3手工在登录页面录入正确的账户信息并提交 4服务器判断登录信息是否正确,如果正确则将登录成功信息保存到session中 5登录成功后服务器端给浏览器返回会话的SessionID信息保转载 2015-07-19 21:30:00 · 7398 阅读 · 0 评论 -
IntelliJIDEA中如何导入额外的jar包
第一种方法: 在自己的工程名上面右键,选择 1>Open Modules Settings 2>libraries 3>点击+号选择jar包即可导入第二种方法: File里面选择Project Structure接着和上面的相同原创 2015-08-07 09:46:23 · 6298 阅读 · 0 评论 -
Java设计模式之代理模式
代理模式:为其他对象提供一种代理,以控制对这个对象的访问,可以去掉某些功能,或者增加某些额外的服务. 例如汽车具有行驶的功能,如果想为汽车再添加日志,记录行驶时间的工作时,便可以创建代理类进行其余的操作.1>创建一个interface包含汽车的move()方法package com.proxy;/** * Created by panlu on 15-9-5. */public inte原创 2015-09-07 14:05:27 · 675 阅读 · 1 评论 -
浅浅谈Java反射机制( JAVA Reflection)
首先有两个问题: 1> 什么是Java的反射机制? 2> 反射机制有什么作用? <1> 反射机制指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。 换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包 括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。<2>反射能够让我们:在运行时检测原创 2015-11-18 00:15:02 · 738 阅读 · 1 评论 -
Intellij IDEA创建Maven Web项目以及ubuntu maven环境安装配置
1>准备工作: jdk的安装 maven的安装, 在这里面找 http://mirror.bit.edu.cn/apache/maven/ 我安装的是 apache-maven-3.1.1-bin.tar.gz,刚开始我下载的是最新版本的也就是 3.3.3 可真是把人折腾坏了,配置完环境变量后,在IDEA中创建maven项目时会出现一个问题 : C原创 2015-08-08 16:40:38 · 5542 阅读 · 0 评论