java基础入门
文章平均质量分 73
TNT_肖
实习中
展开
-
【泛型小解】
泛型小解原创 2022-08-19 17:37:37 · 183 阅读 · 0 评论 -
对于怎么用xml拆解一个http请求和响应
xml巧用原创 2022-07-08 16:19:36 · 183 阅读 · 0 评论 -
对于一个抽象类有多个实现类怎么获取
对接资方时,肯定会有多个实现类很正常我们提供三种解决方法:1.1抽象类:// 辅助类public interface BeanSupport { boolean support(String var1);}// 抽象业务类public interface LoanCallBack extends BeanSupport { /** * 回调通知 * * @param loanApplyRecord the loan apply record原创 2021-08-06 15:27:03 · 2854 阅读 · 0 评论 -
反射----拈花指
前言怎么进一步用反射,在BeanFactoryPostProcessor 做做文章![整体](https://img-blog.csdnimg.cn/20200605114716855.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzI3NjM5NzIx,size_16,color_FFFFFF,t_70)## 调用 pub原创 2020-06-05 11:50:19 · 146 阅读 · 0 评论 -
IT公司的旅程(二)
秒杀的流程笔者做过很多业务,oms oa cms crm 金融业务 电商业务 ,,,结果发现最有挑战性的其实也就是 电商的秒杀业务,任何处理技术,都是为了业务服务,没有最好,只有最适合而已,利用已有或者已知的技术,能够支撑现有的业务,那么就是合适的,就是合格的技术人员概述1.整个秒杀,无非就是先在 redis上做库存的减少,然后定时任务刷进真正的库存表中,前端会在下单的时候,一直轮询下单是否成功的接口,下单之后的操作全部是异步的,各种原子操作也全部就是异步的,原子操作完成后,会集体修改 Redi原创 2020-06-03 14:25:47 · 135 阅读 · 0 评论 -
IT公司的旅程(一)
前言--整体概述一个稍微正规的技术公司特征:-统一底层框架的构建发布流程-笔者有幸在一家电商公司做开发,所以看到了一个软件开发的全貌,-整体概述一个稍微正规的技术公司特征:1 统一的开发框架生成平台,自定义的脚手架2 SpringCloud全家桶中的部分组件 eurake feign hystrix stream ribbon3 统一的配置中心apollo4 统一的日志链表收集中心cat +kibanna+ES5.统一的dao层生成框架 mybatis-gen6.支持多数据源的灵活配置原创 2020-06-03 14:05:00 · 206 阅读 · 0 评论 -
Java8--小念头
实际生产中遇到的问题list -------转化为 Map<String,List<>>BiPredicate----巧用,用于过滤不满足的条件 public void checkAmount(String mainId,List<PromItemAReq> promItemListReq,String status){ // 规则设置的 限制数量 List<TProductGroupBuyingSelectRuleDO&g原创 2020-05-09 10:38:43 · 124 阅读 · 0 评论 -
Forkjoin+Future+ContDownLatch实战用法
对于批量任务,单个线程很明显不符合时代的要求,在java8的parallelStream还没有出现之前,可以选择用以下这种FutureTask public List<FangItemExport> getFangUrl(String token)throws Exception{ String listurl="https://www.baidu.com/api...原创 2020-01-10 16:37:20 · 309 阅读 · 0 评论 -
javaoop涉及到登录者 和登录日志的编写
1. 基本上 每一个工程都会用到登录日志的 所以 登录 作为 一种 常态 必须要掌握 接口 实现类,其中的 麻烦仅仅就是一个 类型之间的转化public class LoginLogDaoimpl implements ILoginLogDao {DBManager db=new DBManager();+++++++++++++++++++++++++原创 2016-05-19 18:27:45 · 403 阅读 · 0 评论 -
进化版导出报表
分析一下excel的结构首先标题是固定,列名是固定的输出设备是变化的,数据是变化的public class ExportExcel2<T> { public void exportExcel(String[] headers, Collection<T> dataset,HttpServletRequest request, ...原创 2018-09-18 12:14:18 · 149 阅读 · 0 评论 -
java基础------CountDownLatch
目录笔者在实际生产中,遇到需要处理excel的多个sheet,很明显 需要 同时处理多个sheet,处理完后,才能返回给前端,join开多个线程 去 使用join ,很明显是可以的但是不优雅List<sheet> sheetlist=new ArrayList<>();Thread th1=new Thread(new Runnable(){ ru...原创 2018-08-30 10:36:20 · 124 阅读 · 0 评论 -
阿里的rocketmq使用
目录笔者在实际操作中,遇到需要使用mq的地方,无奈所有的 官方文档都是一个吊样,反正就是让你无法再一遍之内全部看懂,所以我就放弃了,直接上代码首先就是引入包 <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId&...原创 2018-08-28 19:53:15 · 1777 阅读 · 0 评论 -
怎么在spring中动态注入抽象类的实现类
目录笔者在实际生产中有时会遇到需要自己生成 serviceImpl的 方法,和需要用到工厂类的情况,下面先讲讲怎么用反射做工厂类,抽象父类动作被抽象出来public interface PayStrategy { void pay(double total);}实现类public class EbankPay implements PayStrat...原创 2018-08-27 20:31:29 · 11912 阅读 · 1 评论 -
怎么使用zookeeper限制同一个请求
目录生产中,我们经常会把接口api 提供给第三方的使用者,但是 如果当调用者出现故障疯狂的调用我们的接口,或者 同一个请求发了多次,第一种 情况 会造成 服务器大量的链接被占用,造成服务挂掉,正常的服务无法提供给其他人, 第二种情况会造成 业务上很大的困扰,比如 减库存或者转账多加多减得情况,解决调用频率太高的问题我使用的是 redis 作为解决调用频率的问题 首先 我们将 需要 进行 访问频率原创 2018-04-29 13:22:33 · 495 阅读 · 0 评论 -
几个简单算法java
目录笔者在实际生产中,遇到很多 需要操作list ,构成 固定的数据格式复杂一我需要 "list": [ { "sonlist": [ { "sontype": "3-3", "url": "11111" } ], &qu原创 2018-09-07 18:13:49 · 322 阅读 · 0 评论 -
怎么将无聊的ifelse彻底移除你的代码
前言在漫长的编码生涯中,我们最常见的就是写 if else if 这种东西对于初学者来说确实是很方便,但是维护起来肯定是一堆得麻烦,下面我们来看看怎么使用enum(1),enum+class.forname(2)来解决这个问题,枚举类的使用可以让代码十分的清晰,并且极大程度上可以完成解耦的工作,维护起来也非常简单,原代码需求: A系统的定义的附件类型和B系统的附件类型 不一致,...原创 2018-10-04 10:59:30 · 287 阅读 · 0 评论 -
怎么将促销劵做到可扩展
打折打折这种事情在电商是十分常见的,怎么将这个东西做成可以扩展,并且容易维护呢先看结果:首先 劵有四个条件构成:促销范围,促销条件 条件参数 促销奖励促销范围有三种:老用户,新用户,老用户但是没有买过东西促销奖励:减免券 打折券…… for (TPromotionMsg item : optionList) { // 根据优惠券规则去匹配对应的...原创 2018-10-04 11:17:26 · 283 阅读 · 3 评论 -
怎么进一步将方法的调用精确到配置化
由于总是遇到变化的需求,比如 10个页面,需要对某几个页面进行数据是否过期的判断,同时鉴于产品经理的无知,今天是1,3,5页面需要判断,明天是 2.5.6页面,而且每个页面数据是否过期的判断方法都不一样,所以我们需要进行配置+抽象具体的方法就是利用设计模式来进行一把展示一下最原始的顺序写下的笨方法左边 是最开始的原始的顺序判断的方法,很明显这是很笨拙的,一旦变更页面,就需要来改动代码,...原创 2019-04-21 21:45:12 · 167 阅读 · 0 评论 -
面试案例(2019)一
笔者遇到的面试大多有笔试题,今天先贴一部分,进行背后的考察点分析尽管面试题,面试官80%不会看,但是空着总是不太好,所以能填就填点,也还有底气基础篇第一题:java编译第二题:基本类型的编译器校验第三题:–i 和i++ 和 do while的执行顺序第四题:基本类型的类型转化其实就是考察 thread.start() 和thread.run()的区别一个强制类型...原创 2019-07-13 23:45:26 · 117 阅读 · 0 评论 -
spring boot整合spring security
-笔者在实际生产中,遇到需求:给公司的5个系统统一加上token效验的需求,做成公共的jar包,而且要求使用spring security,暂时不做url权限的控制所有的请求进入到不同的系统,系统可以自由配置那些请求需要拦截,那些不需要拦截,并且请求中的token在失效前都必须在统一登录系统(LDAP)刷新token,登录系统的token时长是2小时,其他系统统一设置成1小时,**-...原创 2019-09-20 09:25:12 · 104 阅读 · 0 评论 -
关于自定义注解给方法记录日志
目录在实际生产中,总能遇到需要记录某一些方法的访问情况的,所以我们采用自定义注解来解决自定义注解 */@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Actuator { String type() default原创 2018-03-29 11:20:47 · 566 阅读 · 0 评论 -
jdbc--的事务深入和存储过程的调用
1. 事务 的用处就是 : 保证多个 操作步骤能够成功 控制数据的安全访问; 直接上代码:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》public class Test1 {public static void main(String[] args) {//jdbc操作事务String url="jdbc:sqlserver://l原创 2016-05-12 10:06:21 · 582 阅读 · 0 评论 -
list_set转化
1. 把 set转化成 有序的 List集合public List findPremissionByUser(Integer userId) {//根据主键找到用户Tbuser u = userDao.findById(Tbuser.class, userId);//根据用户找到角色Set roles = u.getTbroles();Set setp = new原创 2016-10-10 15:55:34 · 203 阅读 · 0 评论 -
使用poi实现excel文件的上传
1. 首先 到包,poi-3.X.jar包 从 底层写起, DbMag:package com.dzy.base;import java.beans.Statement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement原创 2016-11-19 16:04:01 · 2725 阅读 · 0 评论 -
程序人生(一)
目录笔者连续开了一个月的需求讨论会议,从总监口中获得了很多开会的技巧,其中夹杂了一些职场的行动规则,甚至软件工程的一些比较有新意的想法,特意为文以便时时查看,也希望给后来者以启发。财务数据一定要详细首先财务类数据,很多时候不是查看实时的,对于企业来说,更多时候是看的环比或者历年的对比,然而在我们的国家“财务计算规则”或者某件物品的“计算规则”是带有实时性质的,意思就是说很多比如“消费税率”或者“基原创 2017-06-19 18:00:44 · 350 阅读 · 0 评论 -
程序人生(二)
目录项目正式开发中,需要控制整个进度,以及每天需要分配的任务,所以需要用任务分配的表格来或者 jira 或者 禅道 分配任务,整个宏观进度每个模块 每天 那个人 做什么,执行什么在什么时间 每个模块的开发要求精确到 一个模块一个模块今天做一些什么 需要填写文档还有他妈的测试用例的编写和文档的书写 单元测试的书写package com.baozun.web;@RunWith(SpringJU原创 2017-06-20 20:24:05 · 357 阅读 · 0 评论 -
小结- 一web
目录遇到十分复杂的实现,花了很多时间却还是无法达到预期的效果,考虑是否是方向选错了,面对比较复杂的业务逻辑,必须是先将整体流程骨架搭完,以免陷入其中之后,导致头脑混乱最终逻辑上有遗漏,专业性的问题就交给专业的人士处理,不要强行去创建和尝试,到头还是无法解决问题,没有规划就很什么都很急匆匆,什么都很赶,时间点一到,就进入下一个环节,不管有没有完成。对于一些常见的组件可以归纳起来,原创 2017-08-17 19:23:37 · 152 阅读 · 0 评论 -
时间转化+angualr模态框
目录经常能遇到需要对时间进行操作的需求, 1.根据开始时间 算出结束时间 Date starTime=new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(starTime); calendar.add(Calendar.MONTH, 1);原创 2017-08-18 17:22:07 · 283 阅读 · 0 评论 -
关于部门表的查询
目录笔者在工作中需要经常使用一个员工的部门id查询出这个部门的所有的上级部门信息的需求, 并且要求是按照 A/B/C/D/表结构员工表结构: emp-id ,emp-name,dept-id 由于部门机构最少有4级,而且以后还有可能会增加, 部门表: 部门id ,部门名字 ,部门等级,第一级部门id,直属上级部门id, ps: 直属上级id为0 的说明他的直属上级就是 第一级部门目的原创 2017-08-23 11:14:17 · 3065 阅读 · 0 评论 -
java基础?T
目录在工作中遇到的哪些我看不懂的代码1实现泛型public class Test<T>{ T t ; public void createT(class<T> clazz){ t=clazz.newInstance()} }super和extend这样做会报错,将窄类型替代宽类型 List<Object> list = new ArrayList<String>(原创 2017-08-23 12:59:15 · 174 阅读 · 0 评论 -
WED开发中 的 Jsp页面的技巧1.分类显示和input技巧
1.问题: 都是 jsp页面开发 时,遇到的 常见问题 根据 action 传过来的 时间 判断 ------ 生日 ----------不是生日 ">原创 2016-10-10 16:23:06 · 530 阅读 · 0 评论 -
关于struts2和ajax的关系
1. 最开始 以为 ajax 是什么 了不起的 技术 但是 发现 就是 个 传 收 数据的 方法,直接 使用 struts2 + ajax 实现 员工的 信息更新 2. 首先 一个 表单:: listKey="deptId"原创 2016-09-17 16:59:16 · 192 阅读 · 0 评论 -
javaoop项目敏捷型实战中的 大概摘要
一》 由于 操作数据库时, 有很多的代码 是差不多的,所以 接口和 复写率 很高的代码 就需要 用 封装好的 类 代替, 1.11一个 工程 拿给你 时 , 首先 就是 base 包中 的 DBmanager 的编写,(直接和数据库打交道的)需要 写好 该数据库的 名字 --- public int MyexecuteUpdate(String sql , Ob原创 2016-05-19 14:48:32 · 321 阅读 · 0 评论 -
javaoop---jdbc 入门级别
1. 连接整个 数据库 的顺序 就是: ---- 加载 驱动类------------创建连接对象 ----------传送 sql语句 ----------处理结果-------反射 里面的 功能(导入一个 jar包先) DriverManage类 有 一个 创建对象的 方法 String sql="insert into goods values(原创 2016-05-11 10:48:22 · 335 阅读 · 0 评论 -
javaoop--反射详解
1.所谓 反射: 就是说 你的程序 在 需要某些功能时,才会加载某些 对应的 类的 资源, (在我看来,就是说 你不用 去 导入包-----实例化对象,就可以 使用某些类中的方法 或者说: 你可以很方便的 使用 某些方法)2. 接着 直接上 使用的方法:——————————————————————————————————————原创 2016-05-11 10:21:11 · 300 阅读 · 0 评论 -
javaoop从 封装到继承
1.java 有三大特性:继承,封装 ,多态》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 1.1封装: private 加上之后就是 私有化了, 需要提供 相应 的 set和get方法, 给其中的 属性赋值 就是 :s1.setName("马云");原创 2016-05-10 09:38:59 · 1243 阅读 · 0 评论 -
javaoop-udp协议的解析
1.基本概念: 1.DatagramPacket表示存放数据的数据报, 2. DatagramSocket表示接受或发送数据报的套接字 2.使用方法: 我们应该先建立套接字(即发送站或接收站),之后通过套接字发送或接受数据。 DatagramSocket(int port):与上面不同的是,绑定到特定端口号,其它不变 Datagra原创 2016-05-09 21:36:21 · 778 阅读 · 0 评论 -
javaoop--io操作
1.文件 是 相关记录或存放于相同位置的数据的集合 2. java 提供的 FILE类 操作类 是一个 静态的类, .separator----分割符 File f=new File("c:\\a1.txt"); \\ 才表示是 \ 因为有 一个是转原创 2016-05-12 14:48:46 · 334 阅读 · 0 评论 -
JDBC的储存过程 剖解
1.1.在 java 中使用 jdbc--cst 就是 为了 大大 简化每一步单独的 操作,快速 便捷。 数据库,首先 先看 存储过程的 编写, 带有 参数的,没有 参数的,带返回值, 不带 -- CREATE proc proc_name ---然后就是 调用--编写带有返回值的存储过程if exists(select * from sysobjec原创 2016-05-18 08:30:05 · 340 阅读 · 0 评论 -
java连接数据库分页问题
1.数据库 的 数据 传到 java 中 需要 做到 分页 我们来 看看 有几种 方法 ---- 1. 上一页 2.下一页 3 尾页 4. 第一页 ------ 第一页 第二页 第三页 第四页 第五页——————————————————————————实现 第一种的 做法 就是 2. 你要知道 :你有多少行原创 2016-05-19 10:13:08 · 324 阅读 · 0 评论