Giter VIP home page Giter VIP logo

101-concurrency's Introduction

101 concurrency

Detecting concurrency issues with JCStress

Java CI

SonarCloud

Elevator Pitch

Java is a very popular programming language with a consistent set of multithreading & multiprocessing features to solve all kind of modern Enterprise problems and Threads share memory as part of the Java concurrency Model.

Developers use popular frameworks like Spring, Quarkus, Micronaut, Akka or Spark every day but in some scenarios, it is necessary to use concurrency, but it is a reality that learning curve is not easy and sometimes, software deployed on cloud includes some hidden concurrency bugs.

The talk will review root causes for Concurrency issues, and it will do an introduction about the Java tool JCStress explaining how to create tests for those Java class which share state.

When

How to run in local

Running the example in local:

sdk env
./gradlew clean build jcstress
./gradlew clean jcstress --tests "Calculator4Test"
./gradlew clean build
./gradlew clean bootRun
http://localhost:8080/swagger-ui/index.html
http://localhost:8080/v3/api-docs
https://editor.swagger.io/

Running Visualvm, Jmeter & Taurus to add load:

sdk install visualvm
visualvm --jdkhome  $JAVA_HOME

java -Xms256m -Xmx256m -XX:+UseParallelGC -jar build/libs/101-concurrency-0.1.0-SNAPSHOT.jar
sdk install jmeter
jmeter -t jmeterConf.jmx
jmeter -t jmeterConf.jmx -n
jmeter -t jmeterConf2.jmx

brew install python
python3 --version
pip3 install bzt
bzt taurusConf.yaml

Documentation

sdk env
jwebserver -p 8000 -d  $PWD/docs

References

101-concurrency's People

Contributors

jabrena avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.