![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java开发
文章平均质量分 74
小七木林灵
这个作者很懒,什么都没留下…
展开
-
阿里三面面经
大概为期一个月的阿里面试,最后说是大政策变了,而无缘阿里。在这里重新记录一下面试的问题,希望给大家一些帮助吧。**阿里一面**(持续一小时二十分钟):阿里的面试主要是看你的基础是否扎实:在问基础的时候也会问你是如何应用的,总之问题不会很刁钻,给人也很舒服。阿里面试官最后会问一道开放性的题目,不过很难,没有标准答案。首先从项目入手,项目里面是如何解决高并发的问题,主要问了一下解决的细节,其实把细节说清楚也不简单,阿里的面试官不像别的面试官好糊弄问了线程池的核心参数有哪些?工作线程数如何计算?以原创 2020-08-03 21:00:51 · 666 阅读 · 0 评论 -
java女程序猿的四个星期的卑微求职之路
先介绍一下我自己吧,我是一名做java开发的女程序猿,我不知道正在阅读这篇博文的你,对于女java程序猿是一种什么看法。我来说说我听到过的对我最常见的评价吧。女程序真是稀有,女的很少有搞技术的,你真的好厉害哦(然而的的内心的声音:厉害个毛线,在面试官眼里的女程序猿,是不是和大马路上面的女司机一样,不讨喜)女程序猿还要敲多久代码,到时候有家庭,你的精力必定优先,还是抓紧转行吧。面试官n连问:你觉得你身为女程序猿,你的优点在哪里?你结婚了吗?你生孩子了吗?考虑二胎吗?孩子给谁带呀?我们这个岗位是要经常原创 2020-07-09 22:15:45 · 495 阅读 · 0 评论 -
Integer的缓存数组
package com.company;/** * Integer的缓存数组 */public class CacheArr { public static void main(String[] args) { Integer a = 100; Integer b = 100; Integer c = 200; Integer d =200; System.out.println(a==b);//true原创 2020-06-29 17:33:03 · 480 阅读 · 0 评论 -
单例模式的四种创建方式
这是我近期面试的一道题面试官问题创建单例的方式有几种,我答了懒汉和饿汉两种,他告诉我说还有两种,其实我隐约还记得有两种,就是想不起来,心里默默流泪。。。。。记录一下,也算是学习了,这里主要摘录与博客:java单例模式的四种创建方式这篇文章写的浅显易懂,我在这里记录下:饿汉式实现单例模式package com.company.singleton;/** * 单例模式 * 恶汉式 */public class Singleton_hungry { private static Si原创 2020-06-29 13:39:15 · 391 阅读 · 0 评论 -
并发下获取当前时间类优化
高并发场景下System.currentTimeMillis()的性能问题的优化System.currentTImeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没有测试过,有人说是100倍左右)System,currentTimeMillis()之所以慢是因为去跟系统打了一次交道后台定时更新时钟,JVM退出,线程自动回收package com.company;import java.sql.Timestamp;import java.util.concurrent原创 2020-06-24 16:23:21 · 281 阅读 · 0 评论 -
通过案例讲述重构小技巧
什么是重构呢?重构:对软件内部结构的一种调整,目的是在不改变【软件之可察行为】的前提下,提高其可理解性,降低其修改的成本。在这里圈重点:代码是给人看的,一目了然的代码才是体现一个程序员的功底的变现。什么样的代码需要重构1.重复的代码此时我们需要提取方法2.过长的函数方法中,用的短的函数更好,它会有好的解释能力,共享能力,选择能力。(程序中的委托机制(delegation))3.过大...原创 2019-07-31 13:58:31 · 239 阅读 · 0 评论 -
文件上传编码问题
文件上传编码问题1.编码问题的演示我采用的是weblogic服务器,使用springmvc接收带文件的表单,content-type 为mutipart-formdata,页面采用的编码为UTF-8,但是项目采用的是GBK的编码。从前端请求到服务器,也就是utf-8别编码成GBK,其实在这个过程中,就以及存在上传参数失真的情况。下面我用一个小demo显示出现问题的原因。package co...原创 2019-07-18 21:44:55 · 3933 阅读 · 0 评论 -
利用freemarker+SAX解析xml的方式对excel文件字段校验
利用freemarker对参数进行校验这篇文章主要用到的技术点:自定义注解的使用反射机制SAX解析xmlFreemarker的运用我们在工作中经常需要上传excel文件,然后在对文件中的字段进行校验。如果文件里的字段是反复出现,或者文件的字段比较多的话,这是就会使代码变得繁琐,而且也不容易维护。比如说像下面那张学生的表格我们需要对上面表中的每个字段做校验1.userName...原创 2019-06-18 16:36:55 · 2172 阅读 · 0 评论 -
mybatis+oracle 完成插入数据库,并将主键返回的注意事项
mybatis+oracle 完成插入数据库,并将主键返回的注意事项一条插入语句就踩了不少的坑,首先我的建表语句是:create table t_openapi_batch_info( BATCH_NO VARCHAR2(200), UM_CODE VARCHAR2(50), BATCH_STATUS...原创 2019-06-10 20:22:02 · 6759 阅读 · 3 评论 -
基于纯注解的spring开发的介绍
几个核心注解的介绍1.@Configuration它的作用是:将一个java类修饰为==配置文件==,在这个java类进行组件注册package com.kkb.config;import org.springframework.context.annotation.Configuration;@Configuration//相当于配置文件public class Applica...原创 2018-12-05 15:55:45 · 227 阅读 · 0 评论 -
ClassLoader类加载机制
ClassLoader类加载机制在java中类加载是遵循双亲委派来加载的:通过调用loadClass方法逐级向上传递委派加载请求,classloader动态加载class文件到内存中,父类能够加载不让子类加载的一种安全机制。当ClassLoader加载一个class文件到JVM时需要的步骤如图所示第一步:找到 .class文件并把这个文件包含的字节码加载到内存中。第二步:字节码的验证,c...原创 2018-11-26 17:07:40 · 331 阅读 · 0 评论 -
优雅的代码之选择不同支付方式
如何写出优雅的代码我在这里举一个例子,当你选择一个商品时,对应的不同的支付方式,可以选择不同的支付方式,比如你可以选择农业银行支付可以享受打8折的优惠,选择建设银行支付可以享受打9折的优惠。又比如同样一份文件,客户可以选择以word文件的形式下载,或者以pdf文件的格式下载,或者以Excel的文件格式下载。。。其实有很对业务场景是这样的,我就不一一举例了,就拿第一个例子来说:不同的银行都需...原创 2018-11-22 19:55:44 · 1305 阅读 · 0 评论 -
传统jdbc开发
传统jdbc开发创建一个java工程,导入java包,需要mysql的数据库驱动。jdbc编程的步骤1、 加载数据库驱动2、 创建并获取数据库链接3、 创建jdbc statement对象4、 设置sql语句5、 设置sql语句中的参数(使用preparedStatement)6、 通过statement执行sql并获取结果7、 对sql执行结果进行解析处理8、 释放资源(r...原创 2018-11-12 16:19:08 · 153 阅读 · 0 评论 -
redis的安装及与spring整合
redis单机版安装redis的安装Redis是c语言开发的。安装redis需要c语言的编译环境。如果没有gcc需要在线安装。Yum install gcc-c++安装步骤:第一步:redis的源码包上传到linux系统。第二步:解压缩redis。第三步:编译。make第四步:安装。make install PREFIX=/usr/local/redis连接redis前端启动...原创 2018-11-07 15:21:07 · 128 阅读 · 0 评论 -
关于并发中多线程的问题
为了提高cpu的利用率,我们采用多线程来提高效率。1.什么是进程?什么是线程?进程简单的来说就是一个程序的执行,而线程可以理解为在进程中独立运行的多个子任务。2.创建线程的方式创建线程的方式有多种,可以继承thread类,实现runnable接口,实现里面的run方法。当然有时为了避免直接创建Thread对象,我们也可以使用executor类来管理thread对象,从而简化并发编程...原创 2018-11-02 09:56:15 · 163 阅读 · 0 评论 -
redis的基础总结以及高级应用
redis总结Redis是一个key-value存储系统。它支持存储value类型很多,包括String(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都支持push/pop、add/remove以及取交集和并集及更丰富的操作,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件...原创 2018-11-06 19:56:48 · 168 阅读 · 0 评论 -
html2canvas.js+itext+pdf.js将网页转化成图片,利用itext将图片转化成pdf保存
直接上代码了前端代码: Titletype="button" value="截图" onclick="takeScreenshot()">id="view"> id="mycanvas"> 引用得jstype="text/javascript" src="application/career/explore/js/html2can原创 2018-01-02 09:45:15 · 1471 阅读 · 0 评论 -
htmlunit爬取数据
HtmlUnit是一个“java程序的浏览器”。它为html文档建模,提供了一个API,允许您调用页面、填写表单、点击链接等,就像你在“正常”浏览器里做的一样。他有相当好的JavaScirpt支持(不断改进),甚至可以使用相当复杂的AJAX库,模拟Chrome、Firefox或Internet Explorer,这取决于所使用的配置。他通常用于测试的目的或从web站点检索信息。 下面原创 2017-11-17 09:05:16 · 1093 阅读 · 0 评论