![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
非往
岁月从来没有放弃我们,我们不能辜负岁月亦
展开
-
oracle里面的序列在java里面的实现和使用
首先来看一下序列的基本语法:--创建squenceCREATE SEQUENCE search_sequence INCREMENT BY 1 -- 每次加几个 START WITH 7 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; --删除序列DROP SEQUENCE search_sequence;--获取转载 2020-11-02 20:24:24 · 1306 阅读 · 0 评论 -
定时任务--常用Cron表达式
最近写定时任务,用到cron表达式,在这里罗列一些常用得表达式以供使用:格式: [秒] [分] [小时] [日] [月] [周] [年] 0 0 12 * * ? 每天12点触发 0 15 10 ? * * 每天10点15分触发 0 15 10 * * ? 每天10点15分触发 0 15 10 * * ? * 每天10点15分触发 0 15 10 * * ? 2005 2005年每天10点15分触发 0 * 14 * * ? 每天下午的 2点到2点59分每分触.转载 2020-06-24 09:49:49 · 691 阅读 · 0 评论 -
生成pdf设置中文字体出错 \simsun.ttc' with 'Identity-H' is not recognized或者type of font{0} is not recognized
错误写法:PdfFontFactory.createFont("C:\\Windows\\Fonts\\simsun.ttc", PdfEncodings.IDENTITY_H,false);BaseFont.CreateFont("C:\\Windows\\Fonts\\simsun.ttc", PdfEncodings.IDENTITY_H,false)这两种写法是不对的,路径...转载 2020-04-28 18:05:07 · 5090 阅读 · 3 评论 -
Oracle 与 Java 日期存取方式
方法一:使用java.sql.Date实现比较简单的yyyy-mm-dd格式日期。java.sql.Date不支持时间格式。切记不要使用new java.sql.Date(int year,int month,int date),因为还要处理时间差问题。PreparedStatement pstmt = conn.prepareStatement("insert into book (n...原创 2020-03-16 14:12:43 · 437 阅读 · 0 评论 -
字节流和字符流的区别
Java 字节流与字符流的区别实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。字节流:public static void main(String[] args) throws IOException {// 异常...原创 2019-10-26 14:37:21 · 422 阅读 · 0 评论 -
ConcurrentHashMap之实现细节
实现原理锁分离 (Lock Stripping)ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的hash table,它们有自己的锁。只要多个修改操作发生在不同的段上,它们就可以并发进行。有些...转载 2019-10-26 12:58:06 · 187 阅读 · 0 评论 -
Java-------ConcurrentHashMap原理分析
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。在tiger之前,我们使用得最多的数据结构之一就是HashMap和Hashtable。大家都知道,HashMap中未进行同步考虑,而Hashtable则使用了synchronized,(HashMap是线程...原创 2019-10-25 22:55:42 · 242 阅读 · 0 评论 -
对于String、StringBuilder和StringBuffer类各自的理解
StringBuffer类(或者StringBuilder)和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。在Strin...原创 2019-10-24 22:40:14 · 185 阅读 · 0 评论 -
java各种时间的获取方式
常用的时间获取方式public class DateUtils { /** * 获取时间戳 * 输出结果:1438692801766 */ @Test public void getTimeStamp() { Date date = new Date(); long times = date.getTim...原创 2019-10-24 22:02:52 · 257 阅读 · 0 评论 -
HashMap、TreeMap的底层实现以及区别
首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对。HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定...原创 2019-10-23 21:45:23 · 605 阅读 · 0 评论 -
Java类加载器ClassLoader的说明
(1)API文档内容如下:类加载器是负责加载类的对象。ClassLoader 类是一个抽象类。如果给定类的二进制名称,那么类加载器会试图查找或生成构成类定义的数据。一般策略是将名称转换为某个文件名,然后从文件系统读取该名称的“类文件”。每个 Class 对象都包含一个对定义它的 ClassLoader 的引用。数组类的 Class 对象不是由类加载器创建的,而是由 Java 运行时根据...原创 2019-10-17 22:58:34 · 116 阅读 · 0 评论 -
Java语言读取配置文件config.properties
配置文件中的内容如下:left=com.sunny.project.LeftHairright=com.sunny.project.RightHairin=com.sunny.project.InHair读取配置文件中的代码如下:public class PropertiesReader { public static void main(String[] args) ...原创 2019-10-17 22:00:49 · 201 阅读 · 0 评论 -
JAR文件包及jar命令详解
如何把 java 程序编译成 .exe 文件?使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持Java 的跨平台特性。常在网上看到有人询问:如何把 java 程序编译成 .exe 文件。通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像.chm 文档一样双击运行了;而另一种是使用 JET 来进行 编译。但是 JET 是要用钱买的,而且据说 JET 也不是能...转载 2019-10-16 22:26:09 · 549 阅读 · 0 评论 -
为什么要将局部变量的作用域最小化
先来看一段代码:String [] strs = {"洛阳","牡丹","甲天下"};List<String> list = Arrays.asList(strs);Iterator<String> iterator = list.iterator();while (iterator.hasNext()) { String s = (String) i...转载 2019-10-09 21:56:51 · 209 阅读 · 0 评论 -
基本类型和包装类型的区别
01、包装类型可以为 null,而基本类型不可以它使得包装类型可以应用于 POJO 中,而基本类型则不行。class Writer { private Integer age; private String name; public Integer getAge() { return age; } public void setAge(Integer age) { ...转载 2019-10-08 21:39:58 · 170 阅读 · 0 评论 -
抽象方法不能是static或native或synchroniz
抽象方法不能是static或native或synchronizabstract 是抽象了,只有声明,没有具体的实现方法1.static是静态的,是一种属于类而不属于对象的方法或者属性,而我们知道,类其实也是一个对象,他是在class文件加载到虚拟机以后就会产生的对象,通常来说它是单例的,就是整个虚拟机中只有一个这样的类对象(当然,如果用新的类加载器也会生成新的类的对象)。2、synch...原创 2018-08-30 22:29:04 · 334 阅读 · 0 评论 -
java创建json对象:
大家都知道json对象是一种常见的数据传输格式,在各种语言当中都有定义的方式,下面就是在java当中定义一个json的方式:JsonObject object=new JsonObject();JsonArray array=new JsonArray();JsonObject lan1=new JsonObject();lan1.addProperty("type", 1);la...原创 2019-03-24 16:45:54 · 12043 阅读 · 0 评论 -
根据微信的code_url 给前端返回二维码图片--转换成base
在做项目的时候,我从后端返从后端拿到微信支付的url链接,并根据这个链接生成一个base64的图片文件,最后把它渲染在页面上,本人用的是这样一种解决方案,要是有更好的方案可以留言哦:下面是我写的一个方法,将你的图片链接千如一个logo 生成base64: //获取base格式的二维码图片 public String getImage(String codeUrl) { ...原创 2019-03-24 17:11:17 · 6775 阅读 · 1 评论 -
访问 web-info下资源的方式 以及微信支付异步回调跳转的解决
最近做微信支付时候,遇到了一个支付成功之后再回调方法内部跳转的问题首先分析一下这个问题,一般我们在做的时候,都是浏览器给我们发送来一个请求,我们服务器根据需求去转发或者是重定向但是这里就遇到了一个问题,涉及了第三个服务器微信,这时我们怎么去跳转呢?首先,大家都是到对于ajax来说,它只是我们用于网页于后台数据交互的一种方式,说到底它也是浏览器到服务器,但是它是由方法可以支持,服务器端去...原创 2019-04-01 21:11:31 · 586 阅读 · 0 评论 -
产生二维码 生成图片字节流 转base64 base64 转图片文件存储在相对目录
最近做项目遇到了一种常见得需求,起初是生成一个二维码图片,用base64展现在页面上,而后发现这种方式显得页面很乱,于是将其转化为图片文件存储在项目目录当中,返回图片名称供前端引用图片,话不多说,直接上代码: @RequestMapping("/QrCode") public R getScanCode(@PathVariable("deviceNo") String dev...原创 2019-05-22 21:51:27 · 1641 阅读 · 0 评论 -
Java之JNDI详解
JNDI的基本应用JNDI是Java Naming and Directory Interface(JAVA命名和目录接口)的英文简写,它是为JAVA应用程序提供命名和目录访问服务的API(Application Programing Interface,应用程序编程接口)。1.命名的概念与应用JNDI中的命名(Naming),就是将Java对象以某个名称的形...原创 2019-07-17 18:55:16 · 691 阅读 · 0 评论 -
Java 截取String类型字符串后两位及截掉后两位
具体截取的使用如下String strhours = String.valueOf(123456);String strh = strhours.substring(strhours.length() -2,strhours.length()); //截取String strm = strhours.substring(0,strhours.length()-2); //截掉st...原创 2019-08-03 09:49:17 · 15129 阅读 · 1 评论 -
JSONObject,JSONArray,Map,String之间转换 ,java 获取当时时间的年月日
1.String转JSONObjectString jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";JSONObject myJson = JSONObject.fromObject(jsonMessage);2.String转JSONArrayString jsonMessage = "[{'num':'...原创 2019-08-03 10:51:58 · 688 阅读 · 0 评论 -
Java 计算日期加、减一天
public static void main(String[] args) throws ParseException { SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd"); String today = "2015-11-30"; Date d = sj.parse(...原创 2019-08-18 14:39:25 · 730 阅读 · 0 评论 -
Mac安装jdk以及环境变量的配置
首先去下载mac版的jdk,双击下载下来的文件,根据提示完成安装;‘之后你会看见如下的文件:之后打开你的终端按照下图的命令操作即可,具体环境变量的配置在文章的末尾:配置:JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/HomePATH=$JAVA_HOME/bin:$PATH:....原创 2019-08-18 15:46:24 · 174 阅读 · 0 评论 -
使用Itext生成生成定制化的水印pdf并下载
参考文档:官方文档是最好的参考文档:https://developers.itextpdf.com/content/itext-7-jump-start-tutorial/installing-itext-7本人是idea maven环境搭建的项目,首先需要在你的项目当中加入一下的依赖: <dependency> <groupId...原创 2019-09-08 13:07:21 · 541 阅读 · 0 评论 -
深入底层代码理解java中String、StringBuffer、StringBuilder
1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。 private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,如下...原创 2018-08-30 22:16:32 · 732 阅读 · 0 评论