所有文章

  • 【原】用java实现简单的概率随机抽奖算法

    JAVA开发用java实现简单的概率随机抽奖算法

    工作需要,这两天写一个简单的java抽奖算法,因为逻辑简单不复杂,所以代码也很简洁,可以做到不同权重有不用的中奖概率(就类似于nginx集群一样,权重越大,概率越高),在这里将java概率随机抽奖代码抽离出来分享给大家。具体需求:给第三方推送数据,每个第三方根据预算会有不同的额度,考虑到服务器压力,所以采取了主动推送的方式,在每次推送的时候,需要根据第三方的配额计算出相应的概率,然后挑选一个第三方来推送。思路分析:从形式上看,跟随机抽奖几乎一模一样,都是在N中挑选1,而且还不是公平挑选,是带有概率性的。由于只分享概率随机抽奖的算法,所以就暂不考虑上...

    不忘初心 不忘初心 2019-07-13 围观(1675) 评论(0) 点赞(35) JAVA开发

    阅读更多
  • 【原】timestamp without time zone >= character varying

    JAVA开发timestamp without time zone >= character varying

    今天在项目中碰见了一个关于pgsql的错误“Cause: org.postgresql.util.PSQLException: ERROR: operator does not exist: timestamp without time zone >= character varying”,项目是springmvc+mybatis框架,数据库是postgresql,出错的地方在一个时间查询上,前端页面传递了字符串,直接拿来sql中查询就报错了。完整错误信息如下:###Errorqueryingdatabase.Cause:org.postgr...

    不忘初心 不忘初心 2019-07-02 围观(9590) 评论(0) 点赞(14) JAVA开发

    阅读更多
  • 【原】jackson自定义序列化器,指定返回对象中的某个字段

    JAVA开发jackson自定义序列化器,指定返回对象中的某个字段

    Jackson提供了自定义序列化器的方式,可以很方便的处理我们想要的json格式,例如:“接口返回的数据中包含User对象,但是我只想用User对象中的name属性,但是又不想在返回的数据模型中重新定义一个冗余字段”,此时就可以使用自定义的序列化器来解决了。可能大家还不太明白啥意思,来张图感受下:也就是说,json数据中,user对象的就是一个字符串,我不想要一个对象,只想要{user:"张三"}这种格式。本案例以springboot项目来做演示,总共分为两步:1、继承JsonSerializer,实现serialize方法;2、将自定义的seri...

    不忘初心 不忘初心 2019-06-04 围观(3031) 评论(0) 点赞(3) JAVA开发

    阅读更多
  • 【原】java利用dom4j生成网站的sitemap.xml文件

    JAVA开发java利用dom4j生成网站的sitemap.xml文件

    如何让搜索引擎来抓取自己的网站,这个有很多种方式,可以主动推送,可以自动推送,也可以利用sitemap文件来诱导蜘蛛,sitemap文件又分为好几种后缀的写法,最简单的就是txt格式,直接一行行的url放在上面就行了,而高级一点儿的可以使用xml格式(推荐使用这种)。百度官方推荐的格式如下:<?xmlversion="1.0"encoding="utf-8"?><!--XML文件需以utf-8编码--><urlset><!--必填标签--><url><!--必填标签,这是具体某一个链...

    不忘初心 不忘初心 2019-06-03 围观(1095) 评论(0) 点赞(5) JAVA开发

    阅读更多
  • 【原】springboot连接mysql报错“java.lang.IllegalArgumentException: HOUR_OF_DAY: 2 -> 3”

    JAVA开发springboot连接mysql报错“java.lang.IllegalArgumentException: HOUR_OF_DAY: 2 -> 3”

    今天在启动之前的springboot工程时,偶现了一个错误“java.lang.IllegalArgumentException: HOUR_OF_DAY: 2 -> 3”,很神奇,因为这不是第一次启动了,而且连电脑都是同一台,一番百度下来,发现原来是mysql的时区问题。org.springframework.dao.TransientDataAccessResourceException:Errorattemptingtogetcolumn'create_time'fromresultset.Cause:java.sql.SQLExcep...

    不忘初心 不忘初心 2019-06-01 围观(8225) 评论(0) 点赞(6) JAVA开发

    阅读更多
  • 【原】spring框架返回json数据null转空字符串

    JAVA开发spring框架返回json数据null转空字符串

    spring项目中,前端获取服务器返回的json时,里面有null值,如果没做校验,就会导致js报错,但是不推荐每个返回的地方手动处理,而是应该在框架中统一配置。前面关于json日期格式化的文章中,提到了spring默认使用的是jackson来做json序列化,相对应的converter是MappingJackson2HttpMessageConverter,我们依旧还是要利用它提供的ObjectMapper来解决上面的问题。1、继承ObjectMapper,自定义mapperpackagecom.ssm.common;importcom.fast...

    不忘初心 不忘初心 2019-05-31 围观(1710) 评论(0) 点赞(6) JAVA开发

    阅读更多
  • 【原】Spring Boot配置Druid数据源和使用教程

    JAVA开发Spring Boot配置Druid数据源和使用教程

    以前项目使用的是c3p0,了解到另外一个开源数据源框架阿里巴巴的druid,现在做新项目准备使用这个,记录一下使用步骤。主要是看中了他的强大的监控功能,SQL分析能力很强。如果项目出现SQL运行缓慢,效率不高的情况,可以通过它自带的web界面很快的进行问题SQL定位和分析。项目环境:springboot版本是2.1.3,数据库是MySQL。一、简介DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接...

    孤灯听夜雨 孤灯听夜雨 2019-05-28 围观(1443) 评论(0) 点赞(8) JAVA开发

    阅读更多
  • 【原】SpringMVC返回JSON数据时日期格式化问题

    JAVA开发SpringMVC返回JSON数据时日期格式化问题

    在前后台交互时,json数据在传输过程中,若是碰到了日期格式,它默认会转换成时间戳,而一般不涉及到时区的问题时,我们通常希望它能变成yyyy-MM-ddHH:mm:ss这种标准格式。在才开始工作的时候,不知道这个东西可以全局配置,还每次都手写几个字段来专门做处理,如下图:麻烦的一批,针对createTime字段,我用了三个日期字段来做转换,简直了。。。其实一些json框架都帮我们提供了统一配置来解决这个问题,spring默认采用的是jackson,我们可以对它的ObjectMapper进行设置,本案例的框架是springmvc,所以我直接来重写一个...

    不忘初心 不忘初心 2019-05-24 围观(1630) 评论(0) 点赞(15) JAVA开发

    阅读更多
  • 【原】slf4j的jar包冲突:Class path contains multiple SLF4J bindings

    JAVA开发slf4j的jar包冲突:Class path contains multiple SLF4J bindings

    今天在启动springboot项目的时候,碰见了一个错误提示,是slf4j的jar包冲突,但是不会影响项目启动和运行,如下图:详细提示信息:SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foundbindingin[jar:file:/Library/Apache/maven-3.5.3/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBi...

    不忘初心 不忘初心 2019-05-23 围观(101) 评论(0) 点赞(14) JAVA开发

    阅读更多
  • 【原】使用idea搭建springboot项目图文教程

    JAVA开发使用idea搭建springboot项目图文教程

    前面讲了很多框架的搭建教程,今天来写一篇关于springboot的搭建教程,现在idea用的比较多了,就直接使用idea来搭建项目,不过这个跟工具关系不大,不管是idea还是eclipse,项目骨架都是基于官网(http://start.spring.io)来生成的。打开idea,选择newproject菜单如果没有自己配置的骨架模板,就直接使用官网的,这里就可以直接进入下一步偶尔会有网络波动,会出现上面的界面,不过不用担心,可以稍微等待一下,也可以直接返回上一步再次进来上面都是maven工程的一些基本配置,填写完毕之后,直接进入下一步这一步就比较...

    不忘初心 不忘初心 2019-05-22 围观(2532) 评论(0) 点赞(8) JAVA开发

    阅读更多
  • 【原】记一次Java重写父类方法导致栈溢出的经历

    JAVA开发记一次Java重写父类方法导致栈溢出的经历

    今天在重写一个父类方法时,忘记在调用的地方加上super关键字,导致Java栈溢出,报了一个“StackOverflowError”异常,因为调用栈太深了,所以日志超级无敌巨多。贴张图给大家感受一下:这里我只贴出一小部分。java.lang.StackOverflowError:nullatjava.lang.Character.isWhitespace(Character.java:6789)atjava.lang.Character.isWhitespace(Character.java:6757)atorg.apache.commons.la...

    不忘初心 不忘初心 2019-05-20 围观(673) 评论(0) 点赞(11) JAVA开发

    阅读更多
  • 【原】springboot项目在mac下启动特别慢

    JAVA开发springboot项目在mac下启动特别慢

    springboot项目在公司的mac上启动特别慢,但是在家里的windows上就很快,由于家里的笔记本配置非常好,所以之前一度以为是公司的mac配置过低导致的,就一直没有在意,今天在CSDN上无意中看到了一篇文章也提到了这个问题,说是jdk1.8的springboot项目在mac上运行有bug。还真是想不到啊,赶紧将之前的项目拿来测试了一波,一个很小的项目,集成的东西也很少,除了基本的mybatis之外就没啥其他东西了,启动基本上都需要1分钟以上按照大佬的教程,需要修改hosts,在“127.0.0.1localhost”后面加上“电脑名称.lo...

    不忘初心 不忘初心 2019-05-18 围观(1883) 评论(0) 点赞(14) JAVA开发

    阅读更多
  • 【原】使用SMTPAppender碰到的几个问题

    JAVA开发使用SMTPAppender碰到的几个问题

    在使用SMTPAppender发送邮件的时候,碰到了几个小问题,都是缺失jar包导致的,但是在我切换jar包的过程中,出现了好几个不同的错误,整理出来分享给大家。Java发送邮件,需要依赖两个jar包:activation.jar、mail.jar,前者简单,而后者需要稍微注意一下jar包的名字,不要引入错了。<dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><versi...

    不忘初心 不忘初心 2019-05-17 围观(588) 评论(0) 点赞(9) JAVA开发

    阅读更多
  • 【原】log4j使用之SocketAppender教程

    JAVA开发log4j使用之SocketAppender教程

    之前提到了错误日志发送邮件的方式,log4j还提供了一个SocketAppender,用来将日志进行网络传输,发送到指定的服务器上,比如:大名鼎鼎的ELK就提供的有这种方式。直接上配置文件:log4j.properties#配置根logger,如果下面没有自定义logger,那么项目中的日志就都是debug级别,输出到consolelog4j.rootLogger=DEBUG,console,socket#屏蔽框架日志,只有报错的时候才放出来,优先级高于rootLoggerlog4j.logger.org.springframework=ERROR...

    不忘初心 不忘初心 2019-05-16 围观(1104) 评论(0) 点赞(21) JAVA开发

    阅读更多
  • 【原】log4j使用之SMTPAppender教程

    JAVA开发log4j使用之SMTPAppender教程

    在一些场景中,对于error的感知需要非常快,需要第一时间通知到负责人,此时就需要SMTPAppender来救场了,它可以直接将日志内容当做邮件发出来,这样就算是责任人没在电脑旁边儿,也可以稍微从日志中找一下问题的原因。直接来看配置文件:log4j.properties#配置根logger,如果下面没有自定义logger,那么项目中的日志就都是debug级别,输出到consolelog4j.rootLogger=DEBUG,console,mail#屏蔽框架日志,只有报错的时候才放出来,优先级高于rootLoggerlog4j.logger.org...

    不忘初心 不忘初心 2019-05-15 围观(629) 评论(0) 点赞(22) JAVA开发

    阅读更多

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们