
java
文章平均质量分 91
fmwind
这个作者很懒,什么都没留下…
展开
-
JAVA 中的 CAS
CAS 是现代操作系统,解决并发问题的一个重要手段,最近在看eureka的源码的时候。遇到了很多 CAS 的操作。今天就系统的回顾一下 Java 中的CAS。阅读这篇文章你将会了解到:什么是 CAS CAS 实现原理是什么? CAS 在现实中的应用 自旋锁 原子类型 限流器 CAS 的缺点什么是 CASCAS: 全称Compare and swap,字面意思:”比较并交换“,一个 CAS 涉及到以下操作:我们假设内存中的原数据V,旧的预期值A,需要修改的新值B..转载 2021-06-23 22:13:52 · 227 阅读 · 0 评论 -
java中数据类型在内存中存储的方式
1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控转载 2014-03-11 17:33:53 · 885 阅读 · 0 评论 -
HashMap的工作原理-hashcode和equals的区别二
前言首先再次强调hashcode (==)和equals的真正含义(我记得以前有人会说,equals是判断对象内容,hashcode是判断是否相等之类):equals:是否同一个对象实例。注意,是“实例”。比如String s = new String("test"); s.equals(s), 这就是同一个对象实例的比较;等号(==):对比对象实例的内存地址(也即对象实例的ID),转载 2017-07-31 17:46:07 · 2430 阅读 · 0 评论 -
HashMap的工作原理-hashcode和equals的区别
先来试想一个场景,如果你想查找一个集合中是否包含某个对象,那么程序应该怎么写呢?通常的做法是逐一取出每个元素与要查找的对象一一比较,当发现两者进行equals比较结果相等时,则停止查找并返回true,否则,返回false。但是这个做法的一个缺点是当集合中的元素很多时,譬如有一万个元素,那么逐一的比较效率势必下降很快。于是有人发明了一种哈希算法来提高从该集合中查找元素的效率,这种方式将集合分成若干个转载 2017-07-31 17:44:41 · 10447 阅读 · 1 评论 -
java线程在项目中的应用场景
1、单线程和多线程区别: 单线程处理的优点:同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低,如果完成同步任务所用的时间比预计时间长,应用程序可能会不响应。多线程处理可以同时运行多个过程,简单说下多线程开发的益处:1.多线程开发可以将耗时操作放入子线程,将UI刷新加入主线程,防止页面卡顿。2.在并发操作时使用多线程,如C原创 2017-08-10 17:59:37 · 5518 阅读 · 0 评论 -
java反射
一、回顾:什么是反射?反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。Oracle官方对反射的解释是Reflection enables Java code to discover information about the fields, methods and constructors转载 2017-09-19 12:05:25 · 400 阅读 · 0 评论 -
eclipse导入myeclipse中的项目
1、打开eclipse,点击空白处,右键可以看到import>general>existing projects into workspace>next>选择你的myeclipse web项目,最后finish.2、如果有错,大概是出现的jdk、或编码错误、或jar包问题,改正完毕后;3、打开widnow>show view>nagitgor>找到你的导入项目>.settings>原创 2017-10-10 16:39:13 · 527 阅读 · 0 评论 -
Post/Redirect/Get pattern | PRG 模式
Post/Redirect/Get 是一种 web 开发设计模式,用于防止表单的重复提交。默认情况,提交 Post 请求到服务器后,如果直接刷新浏览器,会重新在提交一次 Post 请求。在访问电商网站时,提交订单采用的是 Post 请求,如果直接刷新浏览器就容易导致重复订单的提交,这个不是用户希望发生的行为。PRG 方法就是用户防止这种现象的发生。默认情况:下面例图描述了默认情况,服务器和浏览器处...转载 2018-06-08 16:12:44 · 618 阅读 · 0 评论 -
Java线程的6种状态及切换
Java中线程的状态分为6种。 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。 线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的...转载 2018-11-01 17:48:44 · 409 阅读 · 0 评论 -
Java多线程之interrupt()和线程终止方式
1. interrupt()说明在介绍终止线程的方式之前,有必要先对interrupt()进行了解。关于interrupt(),java的djk文档描述如下:http://docs.oracle.com/javase/7/docs/api/Interrupts this thread.Unless the current thread is interrupting itself, w...转载 2018-11-01 17:55:50 · 495 阅读 · 0 评论 -
Java的内存结构
一、JVM启动流程:JVM启动时,是由java命令/javaw命令来启动的。二、JVM基本结构:JVM基本结构图:《深入理解Java虚拟机(第二版)》中的描述是下面这个样子的: Java中的内存分配:Java程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对数据进行了不同空间的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。具体划分为...转载 2019-01-10 16:48:33 · 203 阅读 · 0 评论 -
ThreadLocal的使用
原文:http://java.dzone.com/articles/java-thread-local-%E2%80%93-how-use [翻墙看]Thread Local是一个有趣且实用的概念,却是很多开发人员不知如何使用的。在本篇文章中,我将给大家解释什么是ThreadLocal和如何使用,并附带示例代码。由于这个概念在开始有些难以理解,所以我将解释地尽可能简单(注:你不使用这段示例...转载 2019-01-15 15:52:22 · 459 阅读 · 0 评论 -
java读取web工程目录之外的图片并显示
可以有2种方式,1:目录映射, 2:通过反镜像 ,3:读取流 方式1:需要在conf目录下对server.xml做修改,就是在<host></host>标签之间加入<Context path="images" docBase="D:\pictureFiles" debug="0"/> //映射D盘pictrueFiles文件夹到项目路径然后在..转载 2019-01-27 13:30:02 · 1217 阅读 · 0 评论 -
Java调用Zebra800条码打印机
开发中用到了斑马打印机打印标签,这次开发中只是用来打文字,没有生成条形码,所以在别人的基础上我又改动了一下。要参考打条形码的可以看代码中的其它相关方法。我用的是Zebra800,java调用斑马相关型号应该是类似,其它型号没有测试过1、下载Zebra800驱动及ts24.lib文件https://download.youkuaiyun.com/download/fmwind/112481152...原创 2019-06-19 10:44:17 · 5299 阅读 · 5 评论 -
对List集合中的元素进行排序
Collections对List集合中的数据进行排序有时候需要对集合中的元素按照一定的规则进行排序,这就需要用到Java中提供的对集合进行操作的工具类Collections,其中的sort方法先看一个简单的例子:[java] view plain copy public static void main(String[转载 2017-02-28 17:50:31 · 405 阅读 · 0 评论 -
Java中对两个对象进行比较大小
在Java中要想对两个对象进行比较大小,需要实现Comparable接口或Comparator接口。String类型的值之所以可以比较大小(汉字根据ANSI值的大小进行比较),是因为String类实现了Comparable接口。如果要比较的对象没有实现Comparable接口或Comparator接口而直接比较会报 java.lang.ClassCastException类型转换异常。两个对象转载 2016-08-11 16:29:54 · 19053 阅读 · 0 评论 -
CSS样式覆盖规则
大家都知道CSS的全称叫做“层叠样式表”,但估计很多人都不知道“层叠”二字的含义。其实,“层叠”指的就是样式的覆盖,当一个元素被运用上多种样式,并且出现重名的样式属性时,浏览器必须从中选择一个属性值,这个过程就叫“层叠”。样式覆盖(这种叫法更大众化些)遵循一定的规则,之前我对这个规则一直似懂非懂的,直到这几天看了”CSS: The Missing Manual”,才豁然开朗。下面是我的一些学习笔记转载 2016-07-04 17:30:09 · 2053 阅读 · 0 评论 -
java错误
0、 需要标识符 a) 不在函数内 1、 非法表达式开始 b) 可能:丢失括号 . 2. no data found a) 可能:setInt(1,100)中,没有100这个值 3. 找不到符号 a) 可能:没导入包 4. 指定了无效URL a) 可能:数据库名或IP错误,即连接出错 5. 类路径没有找到 a) 可能: ClassNotFoundException: oracle.jdbc.dri原创 2009-05-11 10:54:00 · 3436 阅读 · 1 评论 -
org.hibernate.hql.ast.QuerySyntaxException per is not mapped [from Per as p]
org.hibernate.hql.ast.QuerySyntaxException per is not mapped [from Per as p] 1.hql语句查寻的是javabean 与javabean名字相同,注意大小写!2.hibernate.cfg.xml中要有之类的语句注意:from Per as p 中的Per是持久类名称而不是实际数据中表的名称! 1、持久原创 2009-04-16 14:52:00 · 969 阅读 · 0 评论 -
字符型数据转换为整型并取最大值
string aa="SELECT MAX(CONVERT(int, SUBSTRING(tab_mc, 5, 3))) FROM t_xt_table"; cc=sql.ExecuteScalar(aa).ToString().Trim(); if(cc=="") { temp1="user" +1; } else { bb=Convert.ToInt32(cc) +原创 2007-01-23 11:12:00 · 1618 阅读 · 0 评论 -
spring声明事务管理之细节session.getCurrentSession()
第一:在Spring @Transactional声明式事务管理的配置中,hibernate.current_session_context_class=thread…这一句是不能加的…加了就会出错..那为什么不能加呢?那是因为在Spring事务管理中,current Session是绑定到SpringSessionContext中的,而不是ThreadLocalSessionContex原创 2013-12-13 11:55:33 · 5155 阅读 · 0 评论 -
BufferedOutputStream和ByteArrayOutputStream区别
本文转自http://z276356445t.iteye.com/blog/1955400也有一部分是自己加上去的,以备后用。众所周知BufferedOutputStream是一个缓冲数据输出流接口, ByteArrayOutputStream则是字节数组输出流接口. 这2个输出流都是我们经常用到的, 它们都是OutputStream的子类,而什么时候选择用它们呢, 这个就要看你运用到什么转载 2013-12-14 16:08:51 · 14436 阅读 · 2 评论 -
Struts2零配置
1.1. 设置结果页面路径默认所有的结果页面都存储在WEB-INF/content下,你可以通过设置struts.convention.result.path这个属性的值来改变到其他路径。如:Xml代码: 则将路径配置到了WEB-INF/page 下。1.2. 设置Convention搜索包默认包路径包含action,actions,struts,struts2的转载 2014-01-12 16:15:05 · 856 阅读 · 1 评论 -
样式表单 /easyui.css 未载入,因为它的MIME类型 "text/html" 不是 "text/css"
default*.cssdefault*.jsdefault*.jsondefault*.gifdefault*.pngdefault*.jpgdefault*.icodefault*.docdefault*.xlsdefault*.docxdefault*.xlsxdefault*.txtdefault*.swf原创 2014-06-12 10:25:29 · 18082 阅读 · 3 评论 -
Spring定时任务的几种实现
一.分类从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执转载 2014-06-17 16:45:35 · 608 阅读 · 0 评论 -
JS和JAVA中常用的编码转码函数
js中escape,encodeURI,encodeURIComponent函数和unescape,decodeURI和decodeURIComponent函数的功能1.escape方法对String对象编码,escape方法返回一个包含了"转义序列"的字符串值。除了ASCII字母和数字,以及这几个符号 *+-/.@_外(共有10+52+7=69个字符不会被编码),其他所有的字符都会被转载 2014-09-04 17:17:13 · 4194 阅读 · 0 评论 -
Jstl取得字符串长度及截取字符串
http://java.sun.com/jsp/jstl/functions"%>${wjcd.lrsj}原来得到的是如2006-11-12 11:22:22.0${fn:substring(wjcd.lrsj, 0, 16)}使用functions函数来获取list的长度${fn:length(list)} fn:contains(string, subs转载 2014-09-04 17:22:29 · 36526 阅读 · 0 评论 -
大山程序员国庆java/android体验班征招你的加入
一直都想知道,京东、淘宝是怎么开发出来的?一直想着,在手机上运行着自己开发的app,使用着自己开发的app去给你的朋友打电话,发短信。 一直想知道,想从事软件开发,又不知道自己合适不合适?如果你有这些想法,而又一直没有机会去证明自己,那么大山程序员给你这一样免费体验的机会。来吧,我们完全免费,学到的,就是你的本领。国庆期间上课,详见网站或QQ联系QQ: 36598119 || 27原创 2014-09-23 21:21:16 · 915 阅读 · 0 评论 -
jstl标签详解
JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。 JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版。JSTL是由JCP(Java Community Process)所制定的标准规范,转载 2015-05-29 17:11:22 · 4747 阅读 · 1 评论 -
会话跟踪
会话跟踪会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。理论是,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。而Web应用程序是使用HTTP协议传输数据的。HT转载 2015-05-24 15:24:03 · 903 阅读 · 1 评论 -
freemarker list (长度,遍历,下标,嵌套,排序)
1. freemarker获取list的size :JavaJava代码 ArrayList list = new ArrayList(); FreemakerJavascript代码 ${list?size} 2. list的遍历:Javascript代码转载 2016-06-08 22:00:41 · 1744 阅读 · 0 评论 -
jdbc链接数据库大全(转)
1、链接Sqlserver2000 驱动类 com.microsoft.jdbc.sqlserver.SQLServerDriver 连接字符串 jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs (pubs为数据库名,localhost为主机地址,若数据库在远程则为IP地址) 2、链接mysql 驱动类 com.mysql.jd原创 2009-05-12 16:24:00 · 535 阅读 · 0 评论